Ruby on rails 停止简单表单将日期时间转换为utc

Ruby on rails 停止简单表单将日期时间转换为utc,ruby-on-rails,datetime,Ruby On Rails,Datetime,我有一个datetime,它使用简单的表单呈现到一个隐藏的表单字段中。该字段称为下一个事件:erb行如下所示: <%= f.input :next_event, as: :hidden, label: false %> 但是,当以HTML呈现时,日期时间将转换为UTC: <input class="hidden" id="foo_next_event" name="foo[next_event]" type="hidden" value="2014-05-28 21:30

我有一个datetime,它使用简单的表单呈现到一个隐藏的表单字段中。该字段称为下一个事件:erb行如下所示:

  <%= f.input :next_event, as: :hidden, label: false %>
但是,当以HTML呈现时,日期时间将转换为UTC:

<input class="hidden" id="foo_next_event" name="foo[next_event]" type="hidden" value="2014-05-28 21:30:00">


如何使simple_form停止转换为utc?

您可以手动指定该值,以便不进行时区转换:

<%= f.input :next_event, as: :hidden, label: false, input_html: { value: f.object.next_event.to_s } %>
使用这种方法,您应该可以得到想要的结果,而不必担心此处(或其他地方)表单中日期的格式

<%= f.input :next_event, as: :hidden, label: false, input_html: { value: f.object.next_event.to_s } %>
def next_event_before_type_cast
  self[:next_event].to_s
end