宝石和插件没有正确加载?

时间:2011-05-18 12:59:07

标签: ruby-on-rails rubygems bundler

更新:此问题仅仅是因为应用程序有一个名为StateMachine的现有类...请参阅答案部分。

您好,

我遇到了一个令人恼火的问题:在我的捆绑包中添加state_machine以获取Rails 2.3.11应用程序后,会出现问题。

症状:

    似乎没有加载
  • vendor / plugins - 至少act_as_paranoid和acts_as_lists,导致“未定义的方法'acts_as_paranoid”等。
  • 删除这些插件,试图缩小问题范围,我明白了 “未定义的方法'state_machine'”,表示state_machine gem也没有加载,即使它已在bundle中定义(是的,我运行'bundle install'并验证它已进入)

这暗示我在导入/加载宝石和插件时出现了问题,而state_machine gem可能会导致这种情况。我试过几乎所有版本的state_machine从0.7.0到1.0.0

我的问题:在哪里查找信息以暗示我出了什么问题?

我对加载时调试Rails知之甚少 - 所以欢迎任何指示: - )

1 个答案:

答案 0 :(得分:0)

问题显然是由于命名冲突,因为应用程序已经有一个名为StateMachine的观察者类。

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

所以 - 愚蠢的我,应该知道。

我通过构建一个单独的应用程序来解决,一次添加少量内容,直到偶然发现“违规”代码。仍然觉得以有条理的方式攻击问题是正确的前进方向。

我可以在加载时间生命周期和调试方面使用更多知识。