У меня проблемы с работой с форматом даты и времени.Текущая ситуация: у меня есть база данных с несколькими полями с указанием даты и времени.Формат как 2011-11-16 15:07:00 UTC
.Я хотел бы изменить этот формат во всем приложении.Мне все равно, сохранится ли он таким образом в базе данных, но я хочу, чтобы он был немного более удобным для клиентов в соответствующих представлениях (я из Германии, так что это будет 16.11.2011 15:07
).Я пытался использовать I18n, который работал по крайней мере на несколько частей.Я создал локаль (и добавил default_locale в application.rb).Есть ли способ, которым рельсы используют эту локаль, не изменяя соответствующие представления?Я не смог его найти, поэтому я (успешно) попробовал следующее:
Для моего индексного просмотра я работал с небольшой функцией в application_helper.rb:
module ApplicationHelper
def nice_date_form(the_date)
if !the_date.nil?
I18n.l the_date, :format => :short
end
end
end
Задачахвозникла, когда я пытался использовать этот подход с редактированием / новыми представлениями (_form.html.erb
), он просто не работал вообще.Через некоторое время я наткнулся на RailsCast о виртуальных атрибутах темы, которые хотя бы временно решили мою проблему.Я могу использовать метод получения и установки в модели, но для разных таблиц и полей, которые будут много повторяться.
_form.html.erb:
(...)
<div class="field">
<%= f.label :abfahrt %><br />
<%= f.text_field :nice_date_edit %>
</div>
(...)
Короче говоря: Iискал долго и не знаю, где продолжить.Я думаю, что это не может быть лучшим подходом для решения этой проблемы?Есть ли способ упростить это и установить тип формата рельсов для даты и времени?
Несколько советов будет с благодарностью!Заранее спасибо.
Кристиан