2010-12-20 73 views

回答

5

事实证明,有一些来自Sinatra,提供了一个类似的,但有限的功能。

看到代码: https://github.com/sinatra/sinatra/blob/master/lib/sinatra/base.rb#L1120

所以,你可以这样做:

class MyApp < Sinatra::Base 
    configure :development, :test do 
    #only executes this code when environment is equal to one of the passed arguments 
    # I'm pretty sure Sinatra sets this based on ENV['RACK_ENV'] 
    end 
end 
5

如果您按照Rails惯例为config/environments/environment_name.rb中的每个环境添加一个文件,可以在您的Sinatra应用程序或Rack.ru文件中放入Rack:

Dir.glob(File.dirname(__FILE__) + "/config/environments/#{settings.environment}.rb", &method(:require)) 

通过一些小的修改,您可以使其加载其他文件位置/组合。 Sinatra的配置块也同样适用。

+0

谢谢,这就是我最终做的事情......除非我让它失败,如果env文件不存在:'require“config /#{settings.environment}”' – 2010-12-20 03:54:40

相关问题