以下機型給出:爲什麼ActiveRecord的自動驗證的has_many協會
class Question < ActiveRecord::Base
has_many :answers
end
class Answers < ActiveRecord::Base
belongs_to: question
validates :comment, presence: true
end
當調用
question = Question.new
question.answers.build
question.valid?
valid?
回報false
,因爲相關的答案無效。當Question
valid?
回報true
寫
has_many :answers, validate: false
。
使用has_many
時,它是一個錯誤還是需要關聯的模型自動驗證? Rails的指南明確說明使用的validate_associated
與has_many
關係:http://guides.rubyonrails.org/active_record_validations_callbacks.html#validates_associated
爲什麼*不會驗證正在創建的模型? – 2013-03-28 11:12:34
我創建沒有模型我只驗證問題。爲什麼要打電話給question.valid?觸發每個答案的驗證,儘管validate_associated沒有明確設置。 – dan 2013-03-28 11:31:10