簡體   English   中英

state_machine vs aasm gems for app ruby​​ on rails 3.2

[英]state_machine vs aasm gems for app ruby on rails 3.2

我需要一個狀態機用於消息專用系統和訂單狀態系統。

你可以看到這兩個寶石:

https://github.com/pluginaweek/state_machine

https://github.com/rubyist/aasm

編輯..

我正在使用mongoid和mongodb數據庫

什么寶石最適合這個功能?

更新:

查看最近的RailsCast: 狀態機之旅

上一個答案:

這兩個寶石都很好用,與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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM