Есть ли способ остановить сохранение дочернего элемента до родителя.accepts_nested_attributes_for с полиморфной ассоциацией
Я использую 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) сохранял. Поэтому мне нужно ограничить его, чтобы не сохранять child (phone_number) до сохранения родителя (человека).
Я попробовал несколько вариантов, используя validates_presence_of
и validates_associated
, но никто не работает для меня.
Привет Спасибо за input..I уже встраивать код в транзакции, но как-то не прокатит back..is там так, как мы можем решить эту проблему. –