将请求头信息传递给app.get

问题描述:

有没有办法将请求信息(如HOST头值)传递给app.get?将请求头信息传递给app.get

我的应用程序需要一个特定的主机存在,所以当我常这样称呼它:

app.get(“富”)

具体来说,我想覆盖

request.env["HTTP_HOST"] 

值。

TIA

我不知道这帮助...我见过类似的代码如下:

app.call({ 
    "HTTP_HOST"=>"...", 
    "SCRIPT_NAME" => "", 
    "PATH_INFO"=>"/lala/#{lala_id}/", 
    "QUERY_STRING" => "", 
    "SERVER_NAME" => "", 
    "SERVER_PORT" => "80", 
    "REQUEST_METHOD"=>"GET", 
    "rack.input" => StringIO.new 
}) 

你也许可以仍然使用.get,只是通过HTTP_HOST作为一个选项像上面一样?

this answer

不用彷徨方法文档是在这里:http://api.rubyonrails.org/classes/ActionDispatch/Integration/RequestHelpers.html#method-i-get

你可以这样做:

app.get('/foo', nil, {'HTTP_HOST' => "bar.com"}) 
+1

当然,你不需要知道如果你知道路由的路径:'app.get(app.foo_path,nil,{'HTTP_HOST'=>“bar.com”})' – clozach