如何在编辑视图中获取datetime_picker字段,以使用ActiveRecord配置的时区而不是数据库的UTC值显示值?

时间:2013-01-28 15:58:08

标签: ruby-on-rails-3 datetime datetimepicker

我正在使用config.time_zone = 'Central Time (US & Canada)'。当我创建新记录时,它会将datetime转换为UTC并将其存储在数据库中。在我的show.html.erb中它显示在-0600就好了。但是,当 编辑 现有的Event对象时,_form.html.erb会以UTC格式显示日期时间,而不会转换为CST。

我遇到了麻烦,全都用Google搜索,但我真的输了。我的理解是,正确显示它的唯一字段类型是datetime_select。

编辑:我遇到问题的代码是:

<%= f.datetime_picker :start_date, :dateFormat => 'yy-mm-dd', :showOn => "both", :minDate => DateTime.now, :buttonImageOnly => true, :buttonImage => "/images/calendar_icon.png", :class => "span2" %>

1 个答案:

答案 0 :(得分:0)

如果您要设置时区,只要您尝试显示时区,就可以使用Time.zone.parse(field_name)

编辑:如果您希望它在编辑屏幕中显示,您可以随时在控制器的编辑操作中对其进行格式化,以便在表单中正确格式化。