Ron*_*nze 20 ruby rack sinatra
简单的问题:我希望能够在config.ru中将选项传递到我的sinatra应用程序中.怎么可能?我的config.ru看起来像这样:
run MyApp
但我想在我的MyApp类中使用它来获取参数:
class MyApp < Sinatra::Base
  def initialize(config)
    @config = config
  end
end
但我无法想办法做到这一点.想法?
rni*_*son 24
使用设置/设置
require 'sinatra/base'
class MyApp < Sinatra::Base
  get '/' do
    settings.time_at_startup.to_s
  end
end
# Just arbitrarily picking time as it'll be static but, diff for each run.
MyApp.set :time_at_startup, Time.now
run MyApp
使用配置文件.请参阅contrib中的Sinatra :: ConfigFile(它也使用set和settings,但从YAML文件加载params)
如果你想用params配置,我发现你可以这样做:
require 'sinatra/base'
class AwesomeApp < Sinatra::Base
  def initialize(app = nil, params = {})
    super(app)
    @bootstrap = params.fetch(:bootstrap, false)
  end
end
| 归档时间: | 
 | 
| 查看次数: | 6419 次 | 
| 最近记录: |