メッセージ プライベート システムと注文ステータス システム用のステート マシンが必要です。
次の 2 つの宝石が表示されます。
https://github.com/pluginaweek/state_machine
https://github.com/rubyist/aasm
編集済み..
私はmongodbデータベースでmongoidを使用しています
この機能に最も適した宝石はどれですか?
メッセージ プライベート システムと注文ステータス システム用のステート マシンが必要です。
次の 2 つの宝石が表示されます。
https://github.com/pluginaweek/state_machine
https://github.com/rubyist/aasm
私はmongodbデータベースでmongoidを使用しています
この機能に最も適した宝石はどれですか?
アップデート:
最近の RailsCast: A Tour of State Machines をチェックしてください
前の回答:
どちらの gem もうまく機能し、Mongoid と互換性があり、積極的にメンテナンスされています。
私は過去に AASM を使用したことがあり、もう少し長く使用されていましたが、state_machine gem にはかなり多くの機能とオプションがあります。たとえば、基本クラスの state_machine によって生成されたメソッドを確認します (例の下にあります)。遷移コールバック、条件付き遷移など、より詳細を定義できます。パス分析を行うことができます。状態グラフの素敵な図を生成するための GraphViz ジェネレーターもあります。
単純なステート マシンだけが必要な場合は、AASM を使用できます。条件遷移や遷移コールバック、パス分析などの詳細をモデル化する必要がある場合、状態に関するクエリを頻繁に実行する必要がある場合、またはネストされたステート マシンが必要な場合は、state_machine gem を使用してください。
参考文献:
AASM : https://github.com/aasm/aasm
state_machine : https://github.com/pluginaweek/state_machine
state_machine に関する追加情報:
http://www.pluginaweek.org/2009/03/08/state_machine-one-machine-to-rule-them-all/
http://rdoc.info:8080/github/pluginaweek/state_machine/master/StateMachine/Machine