ruby-on-rails - form_with - the ruby on rails tutorial
Rieles: uso de AciveRecord: dependiente=>: destruir bajo condiciĆ³n (1)
No. Debería eliminar :dependent => :destroy
y agregar la after_destroy
llamada after_destroy
donde puede escribir la lógica que desee.
class Worker < ActiveRecord::Base
has_many :jobs
has_many :coworkers
has_many :company_credit_cards
after_destroy :cleanup
private
def cleanup
if self.is_fired?
self.jobs.destroy_all
self.coworkers.destroy_all
self.company_credit_cards.destroy_all
end
end
end
Cuál será la mejor manera / SECA de destruir a todos los dependientes de un objeto en función de una condición. ?
Ex:
class Worker < ActiveRecord::Base
has_many :jobs , :dependent => :destroy
has_many :coworkers , :dependent => :destroy
has_many :company_credit_cards, :dependent => :destroy
end
la condición estará en Destruir:
if self.is_fired?
#Destroy dependants records
else
# Do not Destroy records
end
¿Hay una manera de usar Proc en la condición dependiente? He encontrado los métodos para destruir a los dependientes individualmente, pero esto no es SECO y flexible para otras asociaciones,
Nota: He inventado el ejemplo ... no es una lógica real