En mi proyecto, el descuento tiene y pertenece a muchas empresas. Tengo una regla de devolución de llamada asociación que un descuento no puede eliminar su última businss (manteniendo que siempre hay una businss para cada descuento):Cómo saltarse la devolución de llamada de asociación en destroy
has_and_belongs_to_many :businesses,
before_remove: :check_count,
def check_count
raise 'Cannot remove latest business!' if businesses.count == 1
end
Sin embargo, me di cuenta de que no voy a ser capaz de eliminar descuentos . Dado que cuando hago discount.destroy
, creo que intentará eliminar empresas, y en término aumentará el error.
¿Hay alguna forma de evitar esto, como algún tipo de :except
como en los controladores?
Compruebe aquí: http://guides.rubyonrails.org/active_record_validations_callbacks.html#skipping-callbacks –