使用 AASM 调用状态更改方法

Cod*_*eef 1 ruby ruby-on-rails state-machine

如何在 AASM 中调用状态更改方法?

我想在以下模型中状态转换为付费时调用 update_foo :

class Foo < ActiveRecord::Base
  include AASM

  # State Machine
  aasm_initial_state :incomplete
  aasm_state :incomplete
  aasm_state :paid

  aasm_event :pay do
    transitions :from => :incomplete, :to => :paid
  end

  def update_foo
  ...
  end
end
Run Code Online (Sandbox Code Playgroud)

Cod*_*eef 6

没关系-弄清楚了:

aasm_state :paid, :enter => :update_foo
Run Code Online (Sandbox Code Playgroud)