我搜索过任何Rack文档的详细信息,详细说明了如何访问文档所说的可以传递到机架应用程序中的选项:
$ rackup --server thin --env development --option arg1=true
在我的config.ru中,我正在使用Rack :: Cascade:
Rack::Cascade.new [myapp1, myapp2]
我需要在命令行上访问通过rackup传递给Rack的选项,并将其提供给在Rack :: Cascade中运行的Ruby应用程序。
答案 0 :(得分:0)
可以通过[your_rack_server_instance].options
访问机架选项。
例如,如果您按如下所示初始化机架服务器:
rack = Rack::Server.new # or Rack::Server.new(options)
rack.options
#=> {:environment=>"development", :Port=>9292, :Host=>"localhost", :config=>"/Users/abc/workspace/xyz/config.ru"}
有关详细信息,您可以查看其实现:
答案 1 :(得分:0)
仍未找到通过机架服务器实例选项执行此操作的方法。至少不是来自通过机架级联运行的模块内。
我最终实现同样的目的是设置一个env变量:
env deployment=true rackup --server thin --host 0.0.0.0 --port 4567 --quiet
这样,部署选项当然可以从机架级联中运行的任何模块访问,如下所示:
ENV['deployment']