Searchlogic的作者说,它被委托给A::R转换器,但至少在我们的例子中,这没有涵盖通常的情况。当地时间被“解释”为UTC,因此被移动了一个小时(CET)。
我如何才能正确地做到这一点?
我添加了我们目前的解决方案作为一个答案,希望它能对某些人有所帮助!
发布于 2010-02-17 21:38:09
我们已经将以下方法添加到应用程序控制器中:
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 = :utchttps://stackoverflow.com/questions/2280980
复制相似问题