5

Rails 3.0x から 3.2.11 にアップグレードした後、次のエラーが発生しました。

There're too many years options to be built. Are you sure you haven't mistyped something? You can provide the :max_years_allowed parameter

コード:

<%= f.date_select :to,
    :start_year => Time.now.year - 80,
    :discard_day => true,
    :include_blank => true %>

:max_years_allowed パラメーターを含めようとしても成功しませんでした。これを修正するにはどうすればよいですか?

4

2 に答える 2

3

Rails docs によると、オプションが渡されない場合、select_yearメソッドは 1000 にdate_select設定max_years_allowedされます。次に、終了年から開始年を引いた絶対値がmax_years_allowedオプションより大きいかどうかを確認します。Rails コンソールを開いて、Time.now.year - 801000 年以上前に表示されていないことを確認しましたか? おかしなことに聞こえるかもしれませんが、そのエラーが発生する唯一の理由です。

ここにリンクがあります。

于 2013-07-06T02:59:36.777 に答える