これが私のLesson
モデルです:
before_create :set_sequence
def set_sequence
maxseq = Lesson.where(:course_id => self.course_id).maximum("sequence")
if (maxseq.nil?)
maxseq = 0
end
self.sequence = maxseq + 1
end
rspec
次のテストを実行すると失敗します。
it "validate sequence is setup" do
lesson = Lesson.create(:title => "Testing", :description => "Testing", :course_id => 1)
lesson.sequence.should_not eql nil
end
ただし、T でこれをテストするrails console
と、Lesson
オブジェクトは正常に作成され、正しい順序で作成されます。理由はありますか?