Rails:嵌套模型中的_destroy属性会跳过validates_presence_of

时间:2010-12-03 22:59:36

标签: ruby-on-rails nested-forms

我正在关注Nested Model Form Part 1

但我有一个问题。

如果我添加validates_presence_of :answers

class Question < ActiveRecord::Base
 belongs_to :survey
 validates_presence_of :answers
 has_many :answers, :dependent => :destroy
 accepts_nested_attributes_for :answers, 
        :reject_if => lambda { |a| a[:content].blank? },  
        :allow_destroy => true
end

_destroy跳过问题模型验证。所以我可以用空答案更新问题模型。

我可能做错了。我该如何解决?

提前致谢。

2 个答案:

答案 0 :(得分:1)

我想你不想:validates_presence_of :answers,我想你想要:validates_associated :answers来运行答案的验证。

答案 1 :(得分:0)

我也问了这个问题并找到了答案。

此链接更好地描述了问题(来自我的问题)并且也有答案。 http://homeonrails.com/2012/10/validating-nested-associations-in-rails/

基本上他拒绝了那些被标记为毁灭的东西,并计算剩下的那些。