我在rails上使用state_machine開發狀態機,這裏我根據條件狀態將會改變到另一個狀態,這裏我定義了不同的狀態。這裏我的問題是如何獲得以前的狀態?而我的第二個問題是如何列出狀態機中的所有狀態?在state_machine rails中獲取以前的狀態
我會用例子來解釋我的問題,比如說我有3個狀態說 state1,state2,state3最初它會在state1中。當事件1是 從狀態1 =>狀態2執行狀態更改,現在我想知道 這是我以前的狀態。善意地幫助我解決這個問題。
我在rails上使用state_machine開發狀態機,這裏我根據條件狀態將會改變到另一個狀態,這裏我定義了不同的狀態。這裏我的問題是如何獲得以前的狀態?而我的第二個問題是如何列出狀態機中的所有狀態?在state_machine rails中獲取以前的狀態
我會用例子來解釋我的問題,比如說我有3個狀態說 state1,state2,state3最初它會在state1中。當事件1是 從狀態1 =>狀態2執行狀態更改,現在我想知道 這是我以前的狀態。善意地幫助我解決這個問題。
如果你正在尋找一個物體以前的狀態列表,恐怕你不能。 state_machine只更改模型數據庫寄存器中的列值,不存儲任何類型的歷史記錄。
請檢查諸如acts_as_versioned(https://github.com/technoweenie/acts_as_versioned)等解決方案以存儲和播放您的型號版本。
而且要檢查AASM寶石https://github.com/rubyist/aasm
乾杯
我堅持用了類似的情況,並已找到了合適的答案這對我行得通。 可能這可以幫助您https://stackoverflow.com/a/5807839/176297
我用paper_trail寶石 和通用的以前的版本。
這使我可以跟蹤對象經歷的狀態序列。
藉助paper_trail,您甚至可以檢索該狀態更改的發起者或終止者。
嘿感謝回覆,改變寶石不是我的好主意,但是有沒有什麼邏輯可以達到目的 – 2012-01-05 13:11:14