2012-02-11 65 views
2

我正在嘗試創建一個具有年份屬性的數據庫,但我遇到了一些困難。我創建了腳手架和tryied使用此代碼修改_form.html.erb:在Ruby On Rails中創建年份下拉框FormBuilder

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

試圖運行軌道服務器,給了我這個錯誤:

1 error(s) on assignment of multiparameter attributes 

我意識到,我只是想年,而不是一天或一個月。有沒有辦法做到這一點?我嘗試過:discard_month => true,但它只是隱藏它,但仍然存儲它。

在此先感謝

回答

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"} %> 
+0

嘗試,但它不工作。我的屬性是年:整數。它仍然試圖存儲多個參數,只是零現在 – Dan 2012-02-11 13:13:54

+0

使用date_select,你總是會得到一個日期,所以你的數據庫中的字段應該是一致的。 – apneadiving 2012-02-11 13:17:36

+0

是否有任何其他選項,以使一個下拉框比date_select一年,從1900至2012年說的? – Dan 2012-02-11 13:19:41