ruby-on-rails – 为什么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? 有效?返回false,因为相关答案无效.写作时 has_many :answers,validate: false 在问题有效吗?返回true. 这是一个错误还是在使用has_many时需要自动验证相关模型? Rails指南明确解释了validate_associated与has_many关系的使用:http://guides.rubyonrails.org/active_record_validations_callbacks.html#validates_associated 解决方法
这绝对不是一个bug.
>您已经创建了一个问题 正如您所发现的,Rails会在您的案例中说“不”. 我从未使用过,也不关心validates_associated.但是,我可以向您指出文档,解释您为什么会看到自己的行为. > Active Record Autosave Association 虽然上面的源文件中的文档值得一读,但我会为你提取这些内容
>您尚未指定:autosave =>对你的一些事情:回答关联>因此,Rails默认会尝试在新问题上保存新构建/关联的答案>保存将失败,因为答案无效 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |