1

私は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> 

しかし、セマンティック_フォームで次のようなものを使用している場合

= form.datetime_select :birthdate 

正しくレンダリングされます。月名の翻訳がないロケールファイルが原因である可能性があるという情報を見つけましたが、非常に奇妙です-なぜレールヘルパーは月名を正常にレンダリングしますが、formtastic - ではありません:(

何か案は?

4

1 に答える 1

5

これらの数値は、「変換 m」の ASCII コードです。月名の翻訳が見つからなかったため、formtastic は文字列 "translation missing..." (インデックス 1 ~ 12) を月名として使用しています (各文字は char 配列の項目として表示されます)。

これを修正するには、ロケール ファイルの月名の翻訳が必要です。つまり、次のようになります。

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]
于 2010-05-21T22:55:36.880 に答える