1
的給定數量的:驗證關聯對象
class User < ActiveRecord::Base
has_many :photos
MAX_PHOTOS = 5
validate :quantity_of_photos
def quantity_of_photos
???
end
end
這:
@user.photos.size # => 5
我需要這個失敗:
@user.photos << Photo.create(valid_photo_attributes)
如何做到這一點的驗證?
您的方法導致@user未通過驗證,但這並不完全。我需要這個
@user.photos << Photo.create(valid_photo_attributes)
產生一個錯誤。否則,可以將照片成功關聯到成員,直到在代碼稍後的某個時間點進行驗證。更好的是,他們不能首先與其相關聯。 – Gavin 2009-09-15 08:23:17好吧,編輯回答你的問題更好 – Ben 2009-09-15 13:22:50
這樣做,但它是糟糕的設計。它要求照片瞭解會員和任何其他有照片且需要類似驗證的模型的情況。 – Gavin 2009-09-18 10:21:02