如何在rails中的aasm回调中访问新旧状态?

时间:2011-12-22 16:54:37

标签: ruby-on-rails ruby ruby-on-rails-3 aasm acts-as-state-machine

我是Ruby和Rails的新手。

我正在使用AASM将状态机行为放入模型类中。根据新旧状态,我希望以不同的方式处理状态更改事件。

如何使用“to”和“from”状态作为参数调用“after”回调,或者如果那些具有我需要的内容,则访问AASM持有的内部字段? ...或者我只需要在回调之前和之后添加并在之前的回调中保存先前的状态?

1 个答案:

答案 0 :(得分:0)

您可以访问ModelClass.aasm_state()

如果您有不同状态的不同转换。

Aasm有很好的记录。您可以在README中找到有关aasm的说明:https://github.com/rubyist/aasm

state :dating,   :enter => :make_happy,        :exit => :make_depressed

def make_happy
  # do something
end

...