Ruby on rails 3 Rails 3升级后,获取未定义的方法“root';对于nil:NilClass安装插件时

Ruby on rails 3 Rails 3升级后,获取未定义的方法“root';对于nil:NilClass安装插件时,ruby-on-rails-3,ruby-on-rails-plugins,Ruby On Rails 3,Ruby On Rails Plugins,我正在使用rails_升级插件将我的应用程序从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 /Use

我正在使用rails_升级插件将我的应用程序从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>'
1.9.2v@Feather ⚡ rails插件安装https://github.com/rails/rails_upgrade.git
/Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active\u support/whiny\u nil.rb:48:in'method\u missing':未定义nil的方法'root':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'
来自/Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.11/lib/rails/commands/plugin.rb:352:in`parse!'
来自/Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.11/lib/rails/commands/plugin.rb:547:in`'
from/Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active\u support/dependencies.rb:239:in'require'
from/Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active\u-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\u-support/dependencies.rb:225:“加载依赖项中的块”中
from/Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active\u support/dependencies.rb:593:in'new\u constants\u in'
from/Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active\u support/dependencies.rb:225:in“load\u dependencity”
from/Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.11/lib/active\u support/dependencies.rb:239:in'require'
来自/Users/vince/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.0.11/lib/rails/commands.rb:17:in`'
来自脚本/rails:6:in'require'
来自脚本/rails:6:in`'

看起来罪魁祸首是这样的:@rails\u root=RailsEnvironment.default.root

奇怪,终于找到了答案。原来是我的Gemfile中的slim_scrooge宝石引起了问题。把它从我的包里拿出来,一切又好了。这是一个晦涩难懂的问题,但希望以后能为其他人节省时间。

奇怪的是,终于解决了。原来是我的Gemfile中的slim_scrooge宝石引起了问题。把它从我的包里拿出来,一切又好了。这是一个模糊的问题,但希望能为以后的其他人节省时间