11
  1. 如何在 Rails 中创建包含所有月份的下拉菜单?
  2. 如何创建一个下拉列表,其中包含从当前年份和未来 8 年(2012 年、2013 年... 2020 年)开始的年份列表?谢谢。
4

5 回答 5

19

几个月:

<%= select_month(Date.today) %>

Date.today参数将默认为当前月份 - 使用select_month(1)默认为一月)

多年来:

<%= select_year(Date.today, :start_year => Date.today.year, :end_year => 8.years.from_now.years) %>
于 2012-10-21T21:01:12.570 回答
8
<%= f.select :month, 1..12 %>

<%= f.select :year, Date.today.year.. 8.years.from_now.year %>
于 2014-04-19T19:28:46.883 回答
3

@alex 答案的一个小补充,

默认情况下,如果你这样做

select_month(日期。今天,字段名称:'开始')

它将生成名称为“date[start]”的选择标签。如果您希望它不是 date[],请添加 :prefix 选项,如下所示:

select_month(Date.today, field_name: 'start', 前缀: 'timer')

这将呈现名称为“timer[start]”的选择标签。

于 2017-07-30T07:34:01.370 回答
1

如果您希望下拉列表显示实际月份名称而不是月份编号,请添加到 @Diego:

<%= f.select :end_date, Date::MONTHNAMES[1..12] %>

然后是这一年:

<%= f.select :end_date, Date.today.year.. 8.years.from_now.year %>
于 2018-08-28T16:34:40.880 回答
-1

这是选择月份和年份的组合

<%= f.month_field(Date.today) :month %>

阅读更多:https ://guides.rubyonrails.org/form_helpers.html

于 2021-02-08T07:25:20.480 回答