我需要从我自己的gem调用“建立连接”方法,但是ActiveRecord :: Base.configurations是[]。
我解决了:
module Bitrix
class Database < ActiveRecord::Base
@config = YAML.load(File.read('config/database.yml'))
self.abstract_class = true
establish_connection @config["bitrix_#{Rails.env}"]
end
end
但是,为什么不直接打开文件就无法访问AR config?我尝试使用establish_connection :"bitrix_#{Rails.env}"
并收到此错误:
/usr/local/var/rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/activerecord-4.1.4/lib/active_record/connection_adapters/connection_specification.rb:257:在`resolve_symbol_connection'中:未配置“ bitrix_development”数据库。可用:[](ActiveRecord :: AdapterNotSpecified)
所有配置均可在以下位置获得:
Rails.application.config.database_configuration
因此,您将拥有:
db_config = Rails.application.config.database_configuration
db_config['development']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句