【发布时间】:2014-01-23 13:53:21
【问题描述】:
我正在尝试将我的应用从 Rails 2.3.4 升级到 2.3.8..
我进入 environment.rb 文件,并改变了
RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION
到
RAILS_GEM_VERSION = '2.3.8' unless defined? RAILS_GEM_VERSION
(我需要做点别的吗?)
我正在使用 MySQL 服务器版本:5.1.47
我没有使用捆绑器
我在 OS X 10.6.6 上运行
这是我的 database.yml,它与我在 2.3.8(而不是升级)中创建的 WORKING 应用程序相匹配
development:
adapter: mysql
encoding: utf8
reconnect: false
database: _development
pool: 5
username: root
password:
socket: /tmp/mysql.sock
当我这样做时,我加载的任何页面都会出现相同的错误。通过尝试从数据库中构建/检索模型可以实现相同的错误,错误是:
>> Company.new
NoMethodError: undefined method `retrieve_connection' for nil:NilClass
from /Library/Ruby/Gems/1.8/gems/activesupport-2.3.8/lib/active_support/whiny_nil.rb:52:in `method_missing'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:123:in `retrieve_connection'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/connection_adapters/abstract/connection_specification.rb:115:in `connection'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:1301:in `columns'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:3055:in `attributes_from_column_definition_without_lock'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/locking/optimistic.rb:66:in `attributes_from_column_definition'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2469:in `initialize'
from (irb):1:in `new'
from (irb):1
编辑:来自 environment.rb 的宝石列表
config.gem "authlogic"
config.gem "hpricot"
config.gem "BlueCloth", :lib => 'bluecloth'
config.gem "daemons"
config.gem "gravtastic", :version => '2.2.0'
config.gem "json"
config.gem "ruby-rapleaf"
config.gem "ar-extensions"
config.gem "url_shortener"
config.gem 'aws-s3', :version => '>= 0.6.2', :lib => 'aws/s3'
config.gem 'paperclip', :version => '>= 2.3.1.1'
config.gem 'omniauth'
【问题讨论】:
-
这是类似的:stackoverflow.com/questions/2892977/updating-rails-to-2-3-6 -- 你能在你的 application.rb 中发布你的 gem 吗?
-
这很可能是问题所在。 Gems 通常在 environment.rb 中指定,发布其内容。
-
我刚刚注释掉了所有的宝石,我得到了同样的错误..
标签: ruby-on-rails