0

努力弄清楚如何通过我的模板在标签中创建本地化月份列表。当我在模板中手动构建时,它在本地化月份运行良好,但正在寻找一种捷径来修剪我的代码。

这是给我带来麻烦的一个:

<%= select("month", "exp_month", (1..12).step(1).collect {|m| [ "date.month_names[#{m}]", m ] }) %>

它创建一个有效的选择/选项列表,但值是字面意思:

date.month_names[1]
date.month_names[2]
…
date.month_names[12]

这个手工构建的代码工作得很好 - 但正在寻找一个更优雅的捷径:

        <select>
          <option value="01"><%=t("date.month_names")[1] %></option>
          <option value="02"><%=t("date.month_names")[2] %></option>
          <option value="03"><%=t("date.month_names")[3] %></option>
          <option value="04"><%=t("date.month_names")[4] %></option>
          <option value="05"><%=t("date.month_names")[5] %></option>
          <option value="06"><%=t("date.month_names")[6] %></option>
          <option value="07"><%=t("date.month_names")[7] %></option>
          <option value="08"><%=t("date.month_names")[8] %></option>
          <option value="09"><%=t("date.month_names")[9] %></option>
          <option value="10"><%=t("date.month_names")[10] %></option>
          <option value="11"><%=t("date.month_names")[11] %></option>
          <option value="12"><%=t("date.month_names")[12] %></option>
        </select>

我究竟做错了什么?

4

1 回答 1

0

尝试这个

<%= select("month", "exp_month", (1..12).collect {|m| [ t("date.month_names")[m], m ] }) %>
于 2013-09-15T10:52:57.383 回答