1
我的理解,按照導軌導向,是應該確保相關的記錄是保存之前有效。例如:理解validates_associated的validates_associated
class ForumPost < AR:Base
has_many :replies
end
class ForumPostReply < AR:Base
validates_length_of :content, :minimum => 20
end
單元測試:
forum_post = Factory.create(:forum_post)
forum_post.replies.build(:content => 'some content') #content too short, not valid
forum_post.save
forum_post.errors.should be_empty #empty because reply was not expected to be validated
應該期待這個保存失敗鑑於我沒有指定validates_associated:回覆我ForumPost模式?它似乎保存得很好,這不是我所期望的,因爲我沒有指定相關的驗證。
因此,如果模型這樣的行爲,不validates_associated指定的,那麼是什麼validates_associated辦?
聽起來你自相矛盾。你不指定'validates_associated:答案',即使它是一個無效的子實體,它也可以很好地保存。有什麼問題? – Jimmy 2011-05-17 18:43:47
這不會是我第一次矛盾自己。如果在使用out validates_associated進行保存時檢查驗證,那麼validates_associated會執行什麼操作? – 2011-05-18 19:56:41