После обновления Rails 3 при установке плагинов был получен неопределенный метод root для nil: NilClass - PullRequest
1 голос
/ 19 ноября 2011

Я использую плагин rails_upgrade для перемещения моего приложения из Rails 2.3.14 в Rails 3.0.11.Я сделал резервную копию и запускаю рельсы новые.в моем каталоге приложений и получил сервер для загрузки.Мне кажется, что все в порядке, но когда я пытаюсь установить новый плагин, я получаю сообщение об ошибке:

неопределенный метод `root 'для nil: NilClass

Вот трассировка стека.

    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

1 Ответ

1 голос
/ 19 ноября 2011

Странно, наконец-то разобрался. Оказывается, это был камень slim_scrooge в моем Gemfile, который вызвал проблему. Убрал его из моего комплекта и все снова хорошо. Непонятная проблема, но, надеюсь, та, которая позже спасет кого-то еще.

...