как skip_callback при создании объектов отношений has_many в рельсах 5 - PullRequest
0 голосов
/ 19 марта 2020

как skip_callback при построении объектов отношений has_many в рельсах 5

Рассмотрим случай ниже

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

Я хочу пропустить обратный вызов связанного объекта.

Можем ли мы сделать это во время строительства объекта?

1 Ответ

0 голосов
/ 19 марта 2020

найденное решение,

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

передача атрибута attr_accessor в качестве параметров также установит значение условия обратных вызовов.

...