我正在尝试为 Sinatra 编写一个 config.ru 文件,其中每个环境都有一组数据库凭据:开发和生产。我正在执行以下操作:
应用程序.rb:
require 'sinatra'
require 'data_mapper'
require 'dm-mysql-adapter'
DataMapper.setup(:default, "mysql://#{settings.db_user}:#{settings.db_password}@#{settings.db_host}/#{settings.db_name}")
# ... the rest of the app
配置.ru:
require 'sinatra'
require './app.rb' # the app itself
configure :development do
set :db_name, 'thedatabase'
set :db_user, 'root'
set :db_password, ''
set :db_server, 'localhost'
end
run Sinatra::Application
但是当我尝试使用 启动应用程序时ruby app.rb
,我得到“Sinatra::Application:Class (NoMethodError) 的未定义方法 'db_user'”。
一般来说,我只是想将所有这些设置卸载到他们自己的文件中。如果 config.ru 不适合他们,那么合适的方法是什么?