ActiveRecord::ConnectionNotEstablished: ActiveRecord::Base 没有连接池与 mongoid
ActiveRecord::ConnectionNotEstablished: No connection pool for ActiveRecord::Base with mongoid
我有一个 Rails 4.2.8 应用程序,ruby 2.4.4 和一个 Mongo 数据库,使用 mongoid ODB。
我想 运行 使用 rspec 针对此应用程序进行测试。最基本的测试给了我这个错误:
ActiveRecord::ConnectionNotEstablished: No connection pool for ActiveRecord::Base
我对这个问题的研究使我得出了这些结论,但我不知道如何解决问题本身:
- 为什么在我的 gem 文件中没有提到活动记录?也许另一个 gem 正在加载它,但我怎样才能摆脱这个问题?
- 我的 application.yml 和 mongoid.yml 文件配置正确。我可以
RAILS_ENV=TEST rails console
,我可以查询文档。
- 看起来 rails 进入了此 file 中的条件行 15。那么 ActiveRecord 如何以及为什么在某个时候加载?
一些帮助真的很感激,因为我不知道下一步该怎么做...
好的,所以我没弄清楚是谁在我的应用程序中加载 ActiveRecord,但我在 rails_helper.rb
:
中手动卸载了它
Object.send(:remove_const, :ActiveRecord)
# Make sure it is above this
require 'rspec/rails'
我有一个 Rails 4.2.8 应用程序,ruby 2.4.4 和一个 Mongo 数据库,使用 mongoid ODB。
我想 运行 使用 rspec 针对此应用程序进行测试。最基本的测试给了我这个错误:
ActiveRecord::ConnectionNotEstablished: No connection pool for ActiveRecord::Base
我对这个问题的研究使我得出了这些结论,但我不知道如何解决问题本身:
- 为什么在我的 gem 文件中没有提到活动记录?也许另一个 gem 正在加载它,但我怎样才能摆脱这个问题?
- 我的 application.yml 和 mongoid.yml 文件配置正确。我可以
RAILS_ENV=TEST rails console
,我可以查询文档。 - 看起来 rails 进入了此 file 中的条件行 15。那么 ActiveRecord 如何以及为什么在某个时候加载?
一些帮助真的很感激,因为我不知道下一步该怎么做...
好的,所以我没弄清楚是谁在我的应用程序中加载 ActiveRecord,但我在 rails_helper.rb
:
Object.send(:remove_const, :ActiveRecord)
# Make sure it is above this
require 'rspec/rails'