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