【发布时间】: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