【发布时间】:2015-01-07 01:30:29
【问题描述】:
我正在尝试设置 Sinatra 环境变量,以便它们传递一个符号,而不仅仅是一个字符串。现在我收到以下错误消息:DEPRECATION WARNING: Passing a string to ActiveRecord::Base.establish_connection for a configuration lookup is deprecated, please pass a symbol (:development) instead.
我的.env 文件:(使用 dotenv gem)
RACK_ENV=development
我的environments.rb 文件(我的 app.rb 文件中需要此文件)
environment = ENV['RACK_ENV']
db_options = YAML.load(File.read('./config/database.yml')[environment])
ActiveRecord::Base.establish_connection(db_options)
我尝试将 .env 设置为:
RACK_ENV=:development
但这会给我一个错误no implicit conversion of nil into String
【问题讨论】:
-
试试
ActiveRecord::Base.establish_connection(:development)可能吗? -
但我想从
database.yml读取散列/变量 -
我认为它读取的默认位置来自
config/database.yml(虽然我不确定......) -
有了 Sinatra-AR,是的,你是对的。
标签: ruby activerecord sinatra