В моем проекте скидка есть и принадлежит многим предприятиям. У меня есть правило обратного вызова ассоциации, что скидка не может удалить ее последний бизнес (чтобы гарантировать, что для каждой скидки всегда есть бизнес):
has_and_belongs_to_many :businesses,
before_remove: :check_count,
def check_count
raise 'Cannot remove latest business!' if businesses.count == 1
end
Однако я понял, что не смогу удалить скидки. Так как, когда я делаю discount.destroy
, я думаю, что он попытается удалить бизнес, и в перспективе вырастет ошибка.
Так есть ли способ обойти это, вроде какого-то :except
как в контроллерах?