Aasm Gem Передача параметров в событие

Я пытаюсь передать параметры в мои данные, даже используя aasm ruby ​​gem и rails. Однако всякий раз, когда я пытаюсь следовать примеру документации, я получаю Wrong number of arguments. Expected 0, got 2., Что я делаю неправильно?

Код ниже:

class Foo < ActiveRecord::Base
  include AASM

  aasm column: :status do
    state :stopped, initial: true
    # TODO: if post fails, should this remain in_progress?
    state :running

    event :run, aasm_fire_event: :do_something do
      transitions from: :stopped, to: :running
    end
  end

  def do_something(list_of_things)
    .... #stuff here
  end
end

а затем вызывающий код

foo = Foo.new
foo.run(:running, [param1, param2])    

Это похоже на пример, но я не могу заставить его работать. Любая помощь будет оценена.

1 ответ

Для тех, кто сталкивается с этой проблемой, если у вас есть другие обратные вызовы для вашего события или для old_state или new_state, которые будут вызываться для события, вышеприведенный шаблон попытается применить параметры ко всем обратным вызовам. Это то, что происходило со мной, поэтому я решил проблему, позволив передавать аргументы для этих обратных вызовов, а затем ничего не делая с ними.

Другие вопросы по тегам