我有一个代表注册过程的模型,需要跟踪几个过程的进展(背景调查,访谈,信息收集......)。每个都可以由状态机表示,然后注册的总体状态可能取决于其他状态。
aasm可以处理吗?还有其他想法或设计考虑因素吗?
答案 0 :(得分:4)
尝试使用此插件,您甚至可以使用该插件继承其他状态机:
答案 1 :(得分:4)
因为当你在一个模型中使用多个状态机时会出现这个问题,所以得到一个答案会很好,尽管已经有了答案。 请尝试:
class Example < ActiveRecord::Base
include AASM
aasm :search, :column => :search do
state :initialised, :initial => true
...
end
aasm :sync, :column => :sync do
state :unsynced, :initial => true
...
end
end
这将创建两个基于两列的状态机,搜索和同步。
答案 2 :(得分:-2)
如果你需要在一个模型中使用多个状态机,它可能会变得很大,是时候拆分模型了。 所以在你的例子中,你应该添加模型用于背景调查,访谈,信息收集......