努力弄清楚如何通过我的模板在标签中创建本地化月份列表。当我在模板中手动构建时,它在本地化月份运行良好,但正在寻找一种捷径来修剪我的代码。
这是给我带来麻烦的一个:
<%= 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>
我究竟做错了什么?