我在我的數據庫中有一個生日字段,其日期值爲yyyy-mm-dd
。我想表現爲更加人性化。因此2011-11-15
應顯示爲Tuesday, November 15th, 2011
。
非常奇怪的是,當我在rails控制檯中執行@user.birthday
時,該值顯示爲我想要的格式。但不在網上。在Rails中,我如何顯示日期,如2009年12月1日星期一,2009年12月1日
我不確定發生了什麼事。
我在我的數據庫中有一個生日字段,其日期值爲yyyy-mm-dd
。我想表現爲更加人性化。因此2011-11-15
應顯示爲Tuesday, November 15th, 2011
。
非常奇怪的是,當我在rails控制檯中執行@user.birthday
時,該值顯示爲我想要的格式。但不在網上。在Rails中,我如何顯示日期,如2009年12月1日星期一,2009年12月1日
我不確定發生了什麼事。
它不正確的格式顯示出來的原因是,Rails的視圖並在必要時調用to_s
。
你應該Internationalization and Localization of Rails做到這一點。
所以在你的例子中,I18n.l @user.birthday
應該做的伎倆。您應該檢查您的語言環境的默認日期格式是什麼,它位於`config/locales/.yml。您可以按照"How to store custom translations"中的說明添加您的格式。因此,通過增加
en:
date:
formats:
default: "%A, %B %d,%Y"
這種格式將用於在任何你約會調用I18n.l
。
試試這個<model>.created_at.to_date.to_s(:long)
也許接受一個答案。 – Henrik