连接到MongoID时出错。应用程序遇到以下错误:"生产 "数据库未配置。

问题描述 投票:0回答:1

我只是收到一个关于Mongoid的奇怪问题。我不知道这是属于什么bug,我使用的是。

  • phusionpassenger-ruby23:最新版本。
  • ruby '2.3.8' - rails '4.2.5'
  • rails '4.2.5'
  • mongoid'5.4.1'

容器运行后,我访问页面,出现了错误。似乎服务器无法读取configmongoid.yml文件中的配置。以下是错误信息

App 55 output: /home/app/dashboard-api/app/controllers/api/v1/from_dashboard_controller.rb:30: warning: found = in conditional, should be ==
App 387 output: Error: The application encountered the following error: 'production' database is not configured. Available: [] (ActiveRecord::AdapterNotSpecified)
App 387 output:     /home/app/dashboard-api/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.11.3/lib/active_record/connection_adapters/connection_specification.rb:248:in `resolve_symbol_connection'
App 387 output:     /home/app/dashboard-api/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.11.3/lib/active_record/connection_adapters/connection_specification.rb:211:in `resolve_connection'
App 387 output:     /home/app/dashboard-api/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.11.3/lib/active_record/connection_adapters/connection_specification.rb:139:in `resolve'
App 387 output:     /home/app/dashboard-api/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.11.3/lib/active_record/connection_adapters/connection_specification.rb:169:in `spec'
App 387 output:     /home/app/dashboard-api/vendor/bundle/ruby/2.3.0/gems/activerecord-4.2.11.3/lib/active_record/connection_handling.rb:50:in `establish_connection'
App 387 output:     /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:320:in `before_handling_requests'
App 387 output:     /usr/share/passenger/helper-scripts/rack-preloader.rb:159:in `block in negotiate_spawn_command'
App 387 output:     /usr/lib/ruby/vendor_ruby/phusion_passenger/loader_shared_helpers.rb:378:in `run_block_and_record_step_progress'
App 387 output:     /usr/share/passenger/helper-scripts/rack-preloader.rb:158:in `negotiate_spawn_command'
App 387 output:     /usr/share/passenger/helper-scripts/rack-preloader.rb:211:in `<module:App>'
App 387 output:     /usr/share/passenger/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
App 387 output:     /usr/share/passenger/helper-scripts/rack-preloader.rb:29:in `<main>'
[

但当我 docker exec -it [container] /bin/bash 然后运行 rails c -e production我想请问一下,我是如何连接到数据库的?

你有没有遇到过这个问题?

ruby-on-rails docker mongoid
1个回答
0
投票

你的应用程序正在尝试加载ActiveRecord。如果你只使用MongoDB,请删除ActiveRecord相关的配置,如下所述 此处.

确保 单个Rails组件被加载 而不是包括ActiveRecord在内的所有Rails。

© www.soinside.com 2019 - 2024. All rights reserved.