3

我正在尝试使用 simple_form 构建月份的下拉选择输入。但是,我什至无法弄清楚从哪里开始。目前,它是一个文本输入区域:

<%= f.input :start_month %>

我需要知道要传递哪些参数才能使这成为所有 12 个月的下拉列表。它返回月份的整数值并不重要,但如果我稍后将其用于订购,这将是理想的。

我仍然是 Rails 的初学者,并且可以真正使用这个帮助。我可以提供任何必要的额外信息。

编辑:

我希望下拉菜单显示月份名称,而不仅仅是数字。

4

3 回答 3

11

这是我的解决方案:

<%= f.input :start_month, collection: (1..12).map{|i| [I18n.t("date.month_names")[i], i]} %>
于 2015-01-04T14:01:27.120 回答
6

那这个呢:

<%= f.input :start_month, :collection => 1..12 %>

或带有月份名称:

<%= f.input :start_month, :collection => ['January','February',...,'December'] %>
于 2013-01-03T18:37:36.623 回答
2
<%= f.select :month, Date::MONTHNAMES.compact.each_with_index.collect{|m,i| [m,i]}, prompt: 'Month'
于 2015-03-27T17:12:18.183 回答