Государственный автомат Spree отсутствует обратный вызов в производственном режиме

#ruby-on-rails #ruby #spree #state-machine

Вопрос:

Я написал заказ декоратору, app/models/spree/order_decorator.rb :

 module Spree  module OrderDecorator  def self.prepended(base)  base.whitelisted_ransackable_attributes  = %w[synced_with_erp]  end   def update_user_was_purchased  user.update_column(:was_purchase, true) if user  end  end end ::Spree::Order.prepend Spree::OrderDecorator if ::Spree::Order.included_modules.exclude?(Spree::OrderDecorator) Spree::Order.state_machine.after_transition to: :complete, do: :update_user_was_purchased  

Когда я запускаю этот код в консоли разработки:

 Spree::Order.state_machine.callbacks[:after].find { |callback|   callback.instance_variable_get("@methods").include?(:update_user_was_purchased) }  

он возвращает объект обратного вызова, как и ожидалось.

Однако, когда я запускаю его в консоли на рабочем сервере , он возвращается nil , и, следовательно, он не работает.