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フィールドはであり、intではないので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 に答える