Ruby on rails formtastic怪异月份名称显示

Ruby on rails formtastic怪异月份名称显示,ruby-on-rails,ruby,formtastic,Ruby On Rails,Ruby,Formtastic,我用的是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 valu

我用的是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> 
它渲染正确。我发现了一些信息,这可能是由没有月名翻译的区域设置文件引起的,但它太奇怪了-为什么rails helpers将月名呈现为ok,而formtastic-不是:


有什么想法吗?

这些数字是用于翻译m的ASCII码。找不到月份名称的翻译,因此formtastic正在使用缺少的字符串翻译。。。索引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]

这些数字是用于翻译m的ASCII码。找不到月份名称的翻译,因此formtastic正在使用缺少的字符串翻译。。。索引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]

我真的无法回答为什么,但我可以证实同样的事情也发生在我身上。如果我将默认区域设置为:ru,而不在区域设置中提供ru.yml,我会在formtastic表单中获得数字,而不是月份名称。我无法回答原因,但我可以确认同样的情况也会发生在我身上。如果我将默认区域设置为:ru,而不在区域设置中提供ru.yml,那么在我的formtastic表单中会得到数字而不是月份名称。