1

simple_form_for で単純な date_field を使用していますが、正常に動作しています。12 年前とそれ以前の日付のみが表示されるように微調整する必要があります。つまり、過去 12 年以内の日付を入力することはできません。

ここに私が持っているコード行があります。

<%= f.date_field :birthday, start_year: Time.now.year - 100, 
          end_year: Time.now.year-12, :default => @profile.birthday %>

"start_year: " と "end_year" はうまくいきませんでした (間違って使っているのでしょうか?)。ユーザーは引き続き無効な日付を入力できます。

他に試してみるべきことを知っている人はいますか?

4

1 に答える 1

3

モデルで検証を使用します。

 validates_inclusion_of :birthday, 
   in: Date.civil(1950, 1, 1)..Date.today-14.years,
   message: "Must be between 1950 and 2000 and now"

確かにこれは一例であり、ニーズに合ったものに設定できます。

于 2014-08-19T18:27:35.077 に答える