有什么办法可以在父母之前停止保存孩子。
我正在使用accepts_nested_attributes_for
多态关联。
我使用了多个选项validates_presence_of :parent_id
,validates_assoicated :parent
但没有一个有效。
例如,我确实有一堂课
Class Person
include HasPhoneNumbers
..
end
module HasPhoneNumbers
def self.included(kclass)
kclass.has_many :phone_numbers, :as => :callable, :dependent => kclass == Person ? :destroy : :nullify
end
klass.accepts_nested_attributes_for :phone_numbers, :reject_if => lambda {|pn| pn.keys.any?{|k| k.to_sym != :id && pn[k].blank?} }
end
class PhoneNumber
belongs_to :callable, :polymorphic => true
end
因此,由于人员对象中的验证而保存人员时,它并没有保存。但是, child(phone_number) 正在保存。所以我需要限制它在父母(人)保存之前不保存孩子(电话号码)。
我确实使用validates_presence_of
and尝试了多个选项validates_associated
,但没有一个对我有用。