2

我正在尝试创建一个具有年份属性的数据库,但我遇到了一些困难。我创建了脚手架并尝试使用以下代码修改 _form.html.erb:

<%= f.date_select :year, :start_year=>2000, :end_year=>Time.now.year %>

试图运行 rails 服务器并给了我这个错误:

1 error(s) on assignment of multiparameter attributes

我意识到我只想要年份而不是日期或月份。有没有办法做到这一点?我试过 :discard_month=>true 但这只是隐藏它,但仍然存储它。

提前致谢

4

2 回答 2

7

执行以下操作:

<%= f.date_select :year, :order => [:year], :start_year => 2000, :end_year => Time.now.year, :prompt => {:year => "Select year"} %>

因为您的year字段是 anint而不是 a datetime

<%= f.select :year, (2000..Time.now.year).to_a, :include_blank => {:year => "Select year"} %>
于 2012-02-11T13:10:30.920 回答
0

另一种选择是select_year

例如,

select_year(Date.current, start_year: 2015, end_year: Date.current.year)

于 2019-01-04T04:58:07.240 回答