Searchlogic的作者说它被委托给A :: R转换器,但至少在我们的例子中,这并没有涵盖通常情况。当地时间被“解释”为UTC,因此被移动了一个小时(CET)。
我该如何正确地做到这一点?
我将当前的解决方法添加为答案,希望它可以帮助某人!
答案 0 :(得分:1)
我们已将以下方法添加到应用程序控制器:
protected
def parse_datetime_fields(hash, key)
value = hash[key]
return unless value
hash[key] = Time.zone.parse(value)
end
然后在创建searchlogic对象之前,我们'预处理'params hash:
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])
非常感谢任何更清晰,更好,更好的解决方案/想法:)!
我们的环境.rb:
config.time_zone = 'Bern'
config.active_record.default_timezone = :utc