Ich bin mit Sinatra mit Apache und Phusion-Passagier mit „klassischen“ Stil:sinatra config.ru: Für was ist der configure-Block?
# config.ru
require 'sinatra'
configure do
....
end
require './app'
run Sinatra::Application
Ich möchte ein paar Dinge definieren. Was ist der Unterschied zwischen der Definition innerhalb des Konfigurationsblocks oder außerhalb?
# 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
Gibt es einige allgemeine Regeln, was draußen zu tun ist und was im Inneren getan werden sollte? Was ist der Unterschied? Ich testete beide Varianten und beide schienen gleich gut zu funktionieren.
Ich weiß configure
verwendet werden können, auf die Umwelt so reagieren:
configure :development do
....
end
So ist für verschiedene Umwelt-Konfigurationen nützlich. Dieser Anwendungsfall ist klar, aber was ist mit allgemeinen Konfigurationen für jede Umgebung? Wo gebe ich sie hin? Ist das nur eine Frage des Stils?
I [die Quelle] (http://rubydoc.info/gems/sinatra/1.3.3/Sinatra/Base.configure) nur gefunden, und es macht wirklich nichts weiter, als den Block mit sich selbst als Argument zurückzugeben. Es ist also nur eine Frage des Stils. – Markus