我在使用日期時間格式時遇到問題。當前情況: 我有一個帶有日期時間的幾個字段的數據庫。格式就像2011-11-16 15:07:00 UTC
。我希望在整個應用程序中更改此格式。我不在乎它是否以這種方式保存在數據庫中,但我希望它在相應的視圖(我來自德國,因此將是16.11.2011 15:07
)中對客戶更友好一點。 我試圖使用I18n,它至少爲幾個部分工作。我創建了一個語言環境(並將default_locale添加到application.rb中)。有沒有辦法讓rails使用這個locale而不改變相應的視圖?我找不到它,所以我(成功地)試圖如下:如何更改視圖的日期時間格式(使用i18n?)
對於我的索引視圖我在 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,這至少暫時解決了我的問題。我可以在模型中使用getter和setter方法,但是對於不同的表和字段來說,這將會是一大堆重複。
_form.html.erb:
(...)
<div class="field">
<%= f.label :abfahrt %><br />
<%= f.text_field :nice_date_edit %>
</div>
(...)
長話短說:我尋覓了很長一段時間,現在,不知道從哪裏繼續。我想這不是解決這個問題的最好方法嗎?有沒有一種方法可以簡化併爲日期時間設置一種軌道寬度的格式?
一些提示將不勝感激!提前致謝。
基督教
非常感謝!我之前嘗試過,但顯然沒有改變這個觀點來做出這個工作,只是放棄了這一點,並對虛擬屬性給予了一點關注。 – Christian