1

我正在使用 formtastic,一切正常,但奇怪的是 - on

= 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 

它正确呈现。我发现了一些信息,它可能是由没有翻译月份名称的语言环境文件引起的,但它很奇怪 - 为什么 rails helpers 渲染月份名称可以,但是格式很好 - 不是:(

有任何想法吗?

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 回答