17

ねえ、Rails の render メソッドの location オプションは何だろうと思っています。ここのドキュメントhttp://guides.rubyonrails.org/layouts_and_rendering.htmlには次のように記載されています。

":location オプションを使用して、HTTP Location ヘッダーを設定できます:"

しかし、なぜこれを行うのか、またはこれを何に使用するのかはわかりません。

4

2 に答える 2

22

実際locationには、オプションは、リクエストの処理の一部として新しいリソースにリダイレクトするために使用されます。例えば、

 render :xml => post.to_xml, :status => :created, :location => post_url(post)

は、投稿用の XML ファイルが作成されたことを受信者に伝えており、これを から取得しpost_url(post)ます。したがって、そこに行きます;)

renderメソッドはLocation、応答オブジェクトでオプションを設定することによってこれを行います

... ... ... 
if location = options[:location]
    response.headers["Location"] = url_for(location)
end
... ... ... 

Locationヘッダー の詳細については、 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 を参照してください

于 2012-08-23T04:15:21.307 に答える
1

Location headerページをリダイレクトするためのものです。

于 2012-08-23T03:56:34.500 に答える