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, которые будут вызываться для события, вышеприведенный шаблон попытается применить параметры ко всем обратным вызовам. Это то, что происходило со мной, поэтому я решил проблему, позволив передавать аргументы для этих обратных вызовов, а затем ничего не делая с ними.