私は Sinatra 用の config.ru ファイルを作成しようとしています。ここでは、開発と運用の各環境に 1 セットのデータベース資格情報があります。私は次のことをしています:
app.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
config.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 が彼らのための場所でないなら、これを行う適切な方法は何でしょうか?