0

ユーザーが参加するには 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

注: Shoulda マッチャーを使用する

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: 

私は何を間違えましたか?

4

1 に答える 1