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



我对Ruby和Rails都是新手。

我使用AASM将状态机行为放入模型类中。根据新的和旧的状态,我想用不同的方式处理状态改变事件。

我如何使用"to"one_answers"from"状态作为参数调用"after"回调,或者访问由AASM持有的内部字段,如果这些有我需要的?...或者我只需要在回调之前和之后都添加回调,并在之前的回调中保存以前的状态?

您可以访问ModelClass.aasm_state()

如果你对不同的状态有不同的转换

Aasm有很好的文档。您可以在aasm的自述文件中找到说明:https://github.com/rubyist/aasm

state :dating,   :enter => :make_happy,        :exit => :make_depressed
def make_happy
  # do something
end
...

最新更新