Searchlogic不正确转换的时间日期时间条件(Searchlogic doesn't

2019-11-03 03:22发布

Searchlogic的作者说,它是委托给A :: [R转换,但至少在我们这个例子中并不包括通常的情况下。 本地时间“解释”作为UTC,因此通过一个小时(CET)移动。

我怎么能这样做是否正确?

我想补充我们目前的解决办法作为一个答案,希望它可以帮助别人!

Answer 1:

我们添加下面的方法来应用控制器:

  protected
  def parse_datetime_fields(hash, key)
    value = hash[key]
    return unless value
    hash[key] = Time.zone.parse(value)
  end

然后创建searchlogic对象之前,我们“预处理” params哈希表:

if params[:search]
  parse_datetime_fields(params[:search], :begin_greater_than)
  parse_datetime_fields(params[:search], :begin_less_than)
end

@search = Record.search(params[:search])

任何清晰的更好,更好的解决方案/想法非常赞赏:)!

我们的environment.rb:

  config.time_zone = 'Bern'
  config.active_record.default_timezone = :utc


文章来源: Searchlogic doesn't convert the time properly for datetime conditions