我正在尝试在用户的时区中使用datetime_select助手,但我遇到了一些问题。设置如下:
在控制器中我设置了日期:
Time.zone = "Pacific Time (US & Canada)"
然后在视图中我有以下内容:
<%= datetime_select :custom_daily_message, :date, :default => Time.now.in_time_zone %>
当我在浏览器中看到视图时,在时区中正确选择了日期。让我们说以下内容:
Fri, 07 Sep 2012 11:20:00 PDT -07:00
但是,当我提交表单并在模型中检查日期时,它显示以下内容:
Fri, 07 Sep 2012 11:20:00 UTC +00:00
我原以为日期是UTC,但PST的偏移量是合适的。有谁知道为什么会这样?是否有解决此问题的方法?
答案 0 :(得分:0)
你能尝试这样做吗?
在/config /application.rb
设置您想要的时区,对于我的应用,我就是这样做的。
config.time_zone = 'Mountain Time (US & Canada)'
如果你有任何问题,请告诉我们。
答案 1 :(得分:0)
我为中央时间(在我的模型中)做了类似的事情:
def start_date super.in_time_zone("Central Time (US & Canada)") if super end def end_date super.in_time_zone("Central Time (US & Canada)") if super end
但我还需要一个before_save来正确设置保存对象的时间。
修改强>: 毕竟,只要在我的application.rb文件中正确设置了time_zone,我就不需要before_save。