2010-05-21 77 views
1

我使用formtastic,一切正常,但奇怪的事情 - 在formtastic怪異月份名稱顯示

= form.input :birthdate, :as => :date 

它呈現爲類似

<li><label for="profile_birthdate_2i">Month</label><select 
id="profile_birthdate_2i" name="profile[birthdate(2i)]"> 
    <option value="1">114</option> 

    <option value="2">97</option> 
    <option value="3">110</option> 
    <option value="4">115</option> 
    <option value="5">108</option> 
    <option value="6">97</option> 
    <option value="7">116</option> 

    <option value="8">105</option> 
    <option value="9">111</option> 
    <option value="10">110</option> 
    <option value="11">32</option> 
    <option value="12">109</option> 
    </select> 

,但如果我使用semantic_form像

= form.datetime_select :birthdate 

它呈現正確。我發現的信息,它可以通過區域文件沒有翻譯月份名稱造成的,但其如此奇怪 - 爲什麼Rails的helper渲染月份名稱確定,但formtastic - ?不:(

任何想法

+0

我真的不能回答爲什麼,但我可以確認同樣的事情發生在我身上。如果我將默認語言環境設置爲:ru,而不在本地語言環境中提供ru.yml,則在我的formtastic表單中獲取數字而不是月份名稱。 – 2010-05-21 21:19:59

回答

5

這些數字是「ranslation m」的ASCII代碼,沒有找到月份名稱的翻譯,所以formtastic使用字符串「translation missing ...」(索引1到12)作爲月份名稱(其中每個字符被視爲從字符數組中的項目)。

爲了解決這個問題,你需要的月名翻譯在你的地區配置文件,即:

en: 
    date: 
    month_names: [~, January, February, March, April, May, June, July, August, September, October, November, December] 
    abbr_month_names: [~, Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec] 
+1

同樣的結果:( – 2010-05-23 18:44:11