答案 0 :(得分:18)
这几个月:
<%= select_month(Date.today) %>
(Date.today
参数会将其默认为当前月份 - 使用select_month(1)
默认为1月)
多年来:
<%= select_year(Date.today, :start_year => Date.today.year, :end_year => 8.years.from_now.years) %>
答案 1 :(得分:7)
<%= f.select :month, 1..12 %>
<%= f.select :year, Date.today.year.. 8.years.from_now.year %>
答案 2 :(得分:3)
@alex答案的一小部分,
默认情况下,如果你这样做
select_month(Date.today,field_name:&#39; start&#39;)
它将生成名为“date [start]”的select标签。如果您希望它不是date [],请添加:prefix选项,如下所示:
select_month(Date.today,field_name:&#39; start&#39 ;, prefix:&#39; timer&#39;)
这将呈现名为“timer [start]”的选择标记。
答案 3 :(得分:1)
如果希望下拉列表显示实际的月份名称而不是月份数字,请添加到@Diego:
<%= f.select :end_date, Date::MONTHNAMES[1..12] %>
然后是一年:
<%= f.select :end_date, Date.today.year.. 8.years.from_now.year %>
答案 4 :(得分:0)
这是选定月份和年份的组合
<%= f.month_field(Date.today) :month %>