使用Simple_Form下拉月份

时间:2013-01-03 18:34:08

标签: ruby-on-rails-3 simple-form

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

<%= f.input :start_month %>

我需要知道要通过哪些参数才能成为所有12个月的下拉列表。它在几个月内返回一个整数值并不重要,但如果我稍后使用它进行订购,它将是理想的。

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

修改

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

3 个答案:

答案 0 :(得分:9)

这是我的解决方案:

<%= f.input :start_month, collection: (1..12).to_a.map{|i| [I18n.t("date.month_names")[i], i]} %>

答案 1 :(得分:6)

这个怎么样:

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

或月份名称:

<%= f.input :start_month, :collection => ['January','February',...,'December'] %>

答案 2 :(得分:2)

<%= f.select :month, Date::MONTHNAMES.compact.each_with_index.collect{|m,i| [m,i]}, prompt: 'Month'