ruby – sinatra config.ru:什么是配置块?
发布时间:2020-12-16 20:20:21 所属栏目:百科 来源:网络整理
导读:我使用Sinatra与Apache和Phusion乘客与“经典”风格: # config.rurequire 'sinatra'configure do ....endrequire './app'run Sinatra::Application 我想定义一些东西.在配置块或外部定义它有什么区别? # config.rurequire 'sinatra'# A) Defining logger h
我使用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 所以它对于不同的环境配置是有用的.这个用例很清楚,但是每个环境的一般配置怎么样?我把它放在哪里这只是风格的问题吗? 解决方法
这首先是一个环境问题,第二个是风格问题.放置配置没有区别.
它确实使您的代码更可读(IMHO),如果你把它放入一个块.此外,它将允许您添加基于环境的选项,然后将其放入其各自的块中. 总结一下,这取决于你:) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |