在rails中建模嵌套状态

时间:2014-10-04 23:50:10

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

我无法找到任何文档/教程/ Q&至于如何在rails中建模嵌套状态。

使用state_machine gem有没有办法做到这一点? (或其他宝石)

我的具体情况是我有一个有状态的对象。这可以是:

'scheduled', 'on-shift' or 'past'

此外,'on-shift'可以是州:

'available', 'busy' or 'inactive'

我如何模拟这些状态?

1 个答案:

答案 0 :(得分:0)

很难确切知道什么对你有用而没有更多细节,但我现在的直觉是有5个状态:%w(scheduled available busy inactive past)

然后你可以有一些额外的方法来模拟“班次”#39;州,例如:

def on_shift?
  %w(available busy inactive).include? state
end

(我假设state是当前状态,但如果不是,您可以替换它,但访问对象的当前状态。