我使用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
所以它对于不同的环境配置是有用的.这个用例很清楚,但是每个环境的一般配置怎么样?我把它放在哪里这只是风格的问题吗?