Приложение Rails config.time_zone не применяется при заполнении полей формы для представления '/ edit'

Я указал config.time_zone в моем приложении Rails, но время, полученное в полях формы, по-прежнему отображается как UTC (что создает проблемы при обновлениях). Разве это не должно быть преобразовано в местное время в указанной зоне?

/config/application.rb (только соответствующие строки):

module ExampleSite
    class Application < Rails::Application

        config.time_zone = 'Central Time (US & Canada)'
    end
end

/events/edit.html.erb (полный файл):

<h1>Edit This Event</h1>
<%= form_for(@event) do |f| %>
    <%= render 'fields', :f => f %>
    <div class="actions">
        <%= f.submit "Update Event" %>
    </div>
<% end %>

/ events /_fields.html.erb (только соответствующие строки :)

<div class="field">
    <%= f.label      :time_start, "Start Time" %><br />
    <%= f.text_field  :time_start, :class => "datetimefield" %>
</div>
<div class="field">
    <%= f.label      :time_end, "End Time (if applicable)" %><br />
    <%= f.text_field  :time_end, :class => "datetimefield" %>
</div>

Когда я ввожу строку datetime для создания нового события, значение сохраняется должным образом (в формате UTC) и отображается в моих представлениях по желанию (в местном часовом поясе) где отображал UTC до переключателя config.time_zone (так что я знаю, что переключение было выполнено).

Но когда я перехожу к редактированию любого другого атрибута события, время, отображаемое в поле формы в представлении / edit, является временем UTC - это означает, что когда я обновляю событие, время повторно сохраняется, как если бы время было повторно введено и предполагалось локальным, что сдвигает время на 5 часов (мое местное отличие от UTC), поскольку система преобразует атрибут «обновленного» времени в UTC для хранения.

Как мне сделать так, чтобы локализованное время отображалось в моих полях формы?

Запуск Rails 3.0.5, depl в соответствии с Heroku (хотя проблема существует как в среде разработки, так и в рабочей среде)

5
задан jasonmklug 14 June 2011 в 18:41
поделиться