Rails似乎无法找到一些宝石

时间:2012-11-29 11:33:35

标签: ruby-on-rails ruby gem gemfile

昨天,一切正常。您可以看到我以前的Gemfile here

然后,我添加了一些组,就像你可以看到here

从那时起,我收到了这条消息:

Exiting
/Users/adrien/code/adserver/backoffice/config/initializers/airbrake.rb:1:in `<top (required)>': uninitialized constant Airbrake (NameError)

[AirbrakeFullStackTrace]

由于我无法弄清楚为什么我遇到了这种行为并且遇到了困难,我试图在相应的airbrake中要求initializer。我重新启动了服务器,我收到了消息:

Exiting
/Users/adrien/code/adserver/backoffice/config/initializers/devise.rb:4:in `<top (required)>': uninitialized constant Devise (NameError)

[DeviseFullStackTrace]

与Airbrake的错误一样,我在初始化程序文件中需要devise并重新启动服务器。我明白了:

Exiting
/Users/adrien/.rvm/gems/ruby-1.9.3-p194/gems/activerecord-3.2.8/lib/active_record/dynamic_matchers.rb:50:in `method_missing': undefined local variable or method `acts_as_sane_tree' for #<Class:0x007fd3363593f8> (NameError)

[ActsAsSaneTreeFullStackTrace]

我在模型文件中需要acs_as_sane_tree,重新启动服务器,现在,它可以正常工作。

有人能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:1)

抱歉无聊的人。我刚刚得到它。对于那些在Gemfile中玩组的人来说,这里有一点要知道并记住。

config/application.rb中,您可以找到以下说明:

Bundler.require *Rails.groups(:assets) if defined?(Bundler)

您必须告诉Bundler包含您在Gemfile中添加的任何异国组。所以,就我而言,这给了我们:

Bundler.require *Rails.groups(:assets, :rails, :frontoffice) if defined?(Bundler)

在Bundler网站Using Groups上找到了一些帮助。