我使用Sinatra与Apache和Phusion乘客与“经典”风格:
- # config.ru
- require 'sinatra'
- configure do
- ....
- end
- require './app'
- run Sinatra::Application
我想定义一些东西.在配置块或外部定义它有什么区别?
- # config.ru
- require 'sinatra'
- # A) Defining logger here
- rack = File.new("logs/rack.log","a+")
- use Rack::CommonLogger,rack
- # B) Global variables here
- LOGGER = Logger.new(...)
- # C) Gem configuration here
- DataMapper::Property::Boolean.allow_nil(false)
- configure do
- # A) Or defining logger here?
- rack = File.new("logs/rack.log","a+")
- use Rack::CommonLogger,rack
- # B) Or global variables here?
- LOGGER = Logger.new(...)
- # C) Or gem configuration here?
- DataMapper::Property::Boolean.allow_nil(false)
- ....
- end
- require './app'
- run Sinatra::Application
有没有一些一般规则,应该在外面做什么,应该在里面做什么?有什么不同?我测试了两种变体,两者似乎都同样好.
我知道配置可以用来对环境做出如下反应:
- configure :development do
- ....
- end
所以它对于不同的环境配置是有用的.这个用例很清楚,但是每个环境的一般配置怎么样?我把它放在哪里这只是风格的问题吗?