首页 > 解决方案 > 在rails 5中构建has_many关系对象时如何skip_callback

问题描述

在rails 5中构建has_many关系对象时如何skip_callback

考虑以下情况

class Customer
  has_many :resources
end

class Resource
  attr_accessor: :skip_callback
  belongs_to :customer
  after_commit :data_calculation, unless: :skip_callback

  def data_calculation
    # logic goes here
  end
end

customer = Customer.new
customer.resources.build({name: 'abc'})
customer.save

我想跳过关联对象的回调。

我们可以在构建对象时这样做吗?

标签: ruby-on-railsruby-on-rails-5rails-activerecordmodel-associations

解决方案


找到解决方案,

customer = Customer.new
customer.resources.build({name: 'abc', skip_callback: true})
customer.save

将 attr_accessor 作为参数传递也将设置回调条件值。


推荐阅读