【问题标题】:After Rails 3 upgrade getting undefined method `root' for nil:NilClass when installing plugins在 Rails 3 升级后,安装插件时获得 nil:NilClass 的未定义方法“root”
【发布时间】:2011-11-19 15:03:38
【问题描述】:

我正在使用 rails_upgrade 插件将我的应用程序从 Rails 2.3.14 移动到 Rails 3.0.11。我已经备份并运行 rails new 。在我的应用程序目录中并让服务器启动。一切似乎都可以继续进行,但是当我尝试安装新插件时出现错误:

nil:NilClass 的未定义方法 `root'

这是堆栈跟踪。

    1.9.2 v@Feather ⚡ rails plugin install https://github.com/rails/rails_upgrade.git
    /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active_support/whiny_nil.rb:48:in `method_missing': undefined method `root' for nil:NilClass (NoMethodError)
from /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.11/lib/rails/commands/plugin.rb:282:in `initialize'
from /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.11/lib/rails/commands/plugin.rb:352:in `new'
from /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.11/lib/rails/commands/plugin.rb:352:in `parse!'
from /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.11/lib/rails/commands/plugin.rb:547:in `<top (required)>'
from /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
from /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `block in require'
from /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `block in load_dependency'
from /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:593:in `new_constants_in'
from /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:225:in `load_dependency'
from /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active_support/dependencies.rb:239:in `require'
from /Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.11/lib/rails/commands.rb:17:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

看起来罪魁祸首是这一行:@rails_root = RailsEnvironment.default.root

【问题讨论】:

    标签: ruby-on-rails-3 ruby-on-rails-plugins


    【解决方案1】:

    奇怪,终于明白了。原来是我的 Gemfile 中的 slim_scooge gem 导致了这个问题。将它从我的捆绑包中删除,一切都很好。晦涩难懂的问题,但希望以后可以节省其他人的时间。

    【讨论】:

      猜你喜欢
      • 2012-08-07
      • 2021-06-27
      • 2016-05-03
      • 1970-01-01
      • 1970-01-01
      • 2016-06-17
      • 1970-01-01
      • 2021-04-14
      • 1970-01-01
      相关资源
      最近更新 更多