tutorial the rails form_with form_for form collection ruby-on-rails ruby activerecord destroy

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