0

Rails プロジェクトのバージョンは 2.3.3 です。しかし最近、セキュリティ ホールにパッチを当てるために Rails のバージョンを 2.3.17 にアップグレードすることにしました。

しかし、Rails gem をアップグレードした後、次のエラーが発生しました。同じ問題を抱えていた人はいますか?

benjamins-iMac:webapp benjamin$ script/server
=> Booting WEBrick
=> Rails 2.3.17 application starting on http://0.0.0.0:3000
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/rails-2.3.17/lib/rails/gem_dependency.rb:21.
/Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/activerecord-2.3.17/lib/active_record/associations.rb:48: warning: already initialized constant HasManyThroughCantAssociateThroughHasManyReflection
/Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/activesupport-2.3.17/lib/active_support/whiny_nil.rb:52:in `method_missing': undefined method `name' for nil:NilClass (NoMethodError)
  from /Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/rails-2.3.17/lib/initializer.rb:445:in `initialize_database_middleware'
  from /Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/rails-2.3.17/lib/initializer.rb:182:in `process'
  from /Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/rails-2.3.17/lib/initializer.rb:113:in `send'
  from /Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/rails-2.3.17/lib/initializer.rb:113:in `run'
  from /Users/benjamin/clue/webapp/config/environment.rb:6
  from /Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/activesupport-2.3.17/lib/active_support/dependencies.rb:182:in `require'
  from /Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/activesupport-2.3.17/lib/active_support/dependencies.rb:182:in `require'
  from /Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/activesupport-2.3.17/lib/active_support/dependencies.rb:547:in `new_constants_in'
  from /Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/activesupport-2.3.17/lib/active_support/dependencies.rb:182:in `require'
  from /Users/benjamin/.rvm/gems/ruby-1.8.7-p370/gems/rails-2.3.17/lib/commands/server.rb:84
  from script/server:3:in `require'
  from script/server:3
benjamins-iMac:webapp benjamin$

ruby-1.8.7-p370/gems/rails-2.3.17/lib/initializer.rb:445コードは

ActionController::Base.session_store.name == 'ActiveRecord::SessionStore'
4

2 に答える 2

1

問題を解決しました。答えはここにありました。
http://johnpwood.net/2009/09/04/disabling-sessions-in-rails-2-3-4/

于 2013-02-14T10:20:12.313 に答える
0

エラーは、単独で実行するのに十分な情報ではありません。ただし、非常に単純なことですが、実行しまし sudo rake gems:installたか?

また、ActiveRecord モデルが取得できるように、データベース列が存在する必要があります。初期状態が「データベースなし」で、後続の rake タスクがモデルを呼び出す場合、nil でチョークします。environment.rbスタック トレースに表示されているので、そこまで到達したと思います...

したがって、古いバージョンから新しいバージョンにアップグレードする場合は、environment.rb他のファイルとは別にファイルも変更する必要があることに注意してください。initializerエラーログによると、すべての問題がそこにあるため、特にタスクを実行する必要がある変更を注意深く確認してください。

于 2013-02-14T08:15:11.337 に答える