我在rails 3 app中使用了几个本地宝石,这些宝石是从供应商/宝石加载的。以下是Gemfile中的一个示例:
gem 'foo', '1.3.9', :path => 'vendor/gems'
当我尝试运行测试(即捆绑exec rake测试)或启动内置服务器(即rails s)时,Rails崩溃并出现“未初始化的常量Foo(NameError)”。只有本地加载的宝石才会导致此问题。运行“gem list”或“bundle exec gem list”会显示存在正确版本的gem。关于为什么这些宝石没有被Rails正确加载的任何想法?
答案 0 :(得分:1)
路径不正确,它应该是gem的完整路径。喜欢这个
gem 'foo', '1.3.9', :path => 'vendor/gems/foo'
否则无法找到并加载。