在Ruby on Rails中创建年份下拉框FormBuilder

时间:2012-02-11 12:50:11

标签: ruby-on-rails ruby-on-rails-3 date formbuilder

我正在尝试创建一个具有年份属性的数据库,但我遇到了一些困难。我创建了脚手架并尝试使用以下代码修改_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 =&gt; true但是只是隐藏它,但仍然存储它。

提前致谢

2 个答案:

答案 0 :(得分:6)

做类似的事情:

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

因为您的year字段是int而不是datetime

<%= f.select :year, (2000..Time.now.year).to_a, :include_blank => {:year => "Select year"} %>

答案 1 :(得分:0)

另一种选择是select_year

例如

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