【发布时间】:2013-03-28 11:03:15
【问题描述】:
给出以下模型:
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,因为关联的答案无效。写的时候
has_many :answers, validate: false
在Questionvalid?返回true。
这是一个错误还是在使用has_many 时需要自动验证关联的模型? Rails 指南明确解释了 validate_associated 与 has_many 关系的使用:http://guides.rubyonrails.org/active_record_validations_callbacks.html#validates_associated
【问题讨论】:
-
为什么不会验证正在创建的模型?
-
我不创建模型我只验证问题。为什么要调用 question.valid?尽管没有明确设置 validate_associated ,但会触发每个答案的验证。
标签: ruby-on-rails ruby-on-rails-3 validation activerecord