8

私は登録プロセスを表すモデルを持っています。これは、いくつかのプロセス(身元調査、インタビュー、情報収集など)の進行を追跡する必要があります。それぞれをステートマシンで表すことができ、登録の全体的な状態は他の状態に依存する可能性があります。

aasmはこれを処理できますか?他のアイデアや設計上の考慮事項はありますか?

4

3 に答える 3

5

この質問は、1 つのモデルで複数のステート マシンをググると出てくるので、既に回答がありますが、回答があるとよいでしょう。やってみてください:

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 つのステート マシンが作成されます。

于 2016-09-12T11:18:49.470 に答える
4

このプラグインを試してください。このプラグインを使用して、他のステートマシンから継承することもできます。

http://api.pluginaweek.org/state_machine/

于 2010-02-24T02:28:42.943 に答える
-2

1つのモデルに複数のステートマシンが必要な場合は、おそらく大きくなり、モデルを分割するときが来ています。したがって、あなたの例では、身元調査、インタビュー、情報収集のためのモデルを追加する必要があります...

于 2010-09-07T07:52:37.787 に答える