ユーザーが参加するには 13 歳以上である必要があるアプリケーションを作成しています。私のセットアップはDevise and Unicorn serverで、これが私のUser
モデルです:
ユーザー.rb
attr_accessible :birthday
validates_presence_of :birthday
validate :is_certain_age
private
def is_certain_age
if self.birthday
errors.add(:base, 'You need to be at least 13.') if self.birthday > Date.today.year - 13
end
end
ブラウザーでこれをテストしようとしましたが、登録フォームを送信すると、POST され、ユーザーが作成されないか作成されないままになります。ユニコーン サーバーは WEBrick のようにパラメーターを教えてくれないので、何が起こっているのかわかりません。これは私が得るすべてです:
127.0.0.1 - - [22/Jun/2013 11:21:12] "POST /users HTTP/1.1" 200 - 0.3460
ユーザー向けの私の Rspec テストでは、失敗した場合に次のように表示されます。
User
Failure/Error: it { should be_valid }
NoMethodError:
undefined method `to_datetime' for 2000:Fixnum
User valid user age
Failure/Error: it { should ensure_inclusion_of(:birthday).in_range(13..150) }
Did not expect errors to include "is not included in the list".....
...when birthday is set to 12, got error:
私は何を間違えましたか?