【问题标题】:State machine transitions rails状态机转换轨道
【发布时间】:2012-08-24 10:49:16
【问题描述】:

我的状态转换如下:

  [A,B] => C
  [B,C] => A

我使用的before_transition、after_transition方法如下:

  before_transition :to => C do
  end

但现在我遇到了使用上述方法的情况,如下所示

  before_transition :from=> A, :to => C do
  end

有什么办法吗?

【问题讨论】:

  • 你的意思是你只想为A=>C而不是B=>C应用前转换,对吧?

标签: ruby-on-rails ruby state state-machine


【解决方案1】:

大概是这样的

before_transition :A => :B, :do => :action
... ... ...
def action
    #do your stuffs here.
end

【讨论】:

    【解决方案2】:

    也许你可以使用

    before_transition :to => 'canceled', :from => 'new_order', :do => [:cancel_account_movement]
    
    def cancel_account_movement
       #blablabla
    end
    

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 2020-04-07
      • 1970-01-01
      • 1970-01-01
      • 2015-07-28
      • 1970-01-01
      • 2012-08-11
      相关资源
      最近更新 更多