我正在尝试使用simple_form构建月份的下拉选择输入。但是,我无法确定从哪里开始。目前,它是一个文本输入区域:
<%= f.input :start_month %>
我需要知道要通过哪些参数才能成为所有12个月的下拉列表。它在几个月内返回一个整数值并不重要,但如果我稍后使用它进行订购,它将是理想的。
我仍然是rails的初学者,可以真正使用这个帮助。我可以提供任何必要的额外信息。
修改
我希望下拉列表显示月份名称,而不仅仅是数字。
答案 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'