2011-05-18 67 views
1

更新:這個問題只是由於應用程序有一個名爲StateMachine的現有類...請參閱答案部分。寶石和插件加載不正常?

嗨,

我有一個惱人的問題:加入state_machine我包了一個Rails應用程序2.3.11,東西壞了。

症狀:

  • 供應商/插件似乎沒有被加載 - acts_as_paranoid和acts_as_lists至少,導致「未定義的方法「acts_as_paranoid」等
  • 除去這些插件,試圖縮小上問題,我得到 「undefined method'state_machine'」,表明state_machine gem沒有加載,即使它在bundle中定義(是的,我已經運行'bundle install'並驗證它已經進入)

這提示我有什麼東西正在導軌中引導/加載寶石和插件,並且state_machine gem可能會導致這種情況。我試過幾乎所有版本的state_machine從0.7.0到1.0.0

我的問題:在哪裏尋找信息來暗示我有什麼問題?

我加載時期間知之甚少調試Rails的 - 所以任何方向是值得歡迎的:-)

回答

0

的問題顯然是由於命名衝突,因爲應用程序已經有所謂的StateMachine觀察者類。

class StateMachine < ActiveRecord::Observer 
    observe :modelname 
    ... 

所以 - 愚蠢的我,應該知道。

我通過構建一個單獨的應用程序來解決問題,一次只添加很少的東西,直到偶然絆倒了「違規」代碼。仍然覺得以有組織的方式攻擊這個問題是前進的正確方法。

我本可以在加載時間生命週期和調試方面使用更多的知識。