ruby-on-rails - 如何在销毁中跳过关联回调

标签 ruby-on-rails model

在我的项目中,折扣已经并且属于许多企业。我有一个关联回调规则,折扣不能删除它的最后一个业务(以保持每个折扣总是有一个业务):

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在 Controller 中?

最佳答案

您可以调用discount.delete这将跳过回调。

关于ruby-on-rails - 如何在销毁中跳过关联回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8634783/

相关文章:

ruby-on-rails - 如何找到本地 postgres 数据库的 URL 路径?

ruby-on-rails - 注销前更新 current_user 时收到 "Attempted to update a stale object: User"异常

java - MVC : Should this function be in the Controller or in the Model

使用 CGridView、Yii 在 BELONGS_TO 模型列中搜索

ruby-on-rails - RSpec 测试中的 Rails Engine 宿主应用程序类

ruby-on-rails - 在其他 Controller 中调用 Controller 的方法(保持 DRY)

mysql - 更新 Rails 关联表

mysql - 如何为从 Sequelize-Auto 生成的模型添加关联

Django:存储分层数据

ruby-on-rails-3 - Rails 不创建中间表? - Habtm 关系