ねえ、Rails の render メソッドの location オプションは何だろうと思っています。ここのドキュメントhttp://guides.rubyonrails.org/layouts_and_rendering.htmlには次のように記載されています。
":location オプションを使用して、HTTP Location ヘッダーを設定できます:"
しかし、なぜこれを行うのか、またはこれを何に使用するのかはわかりません。
ねえ、Rails の render メソッドの location オプションは何だろうと思っています。ここのドキュメントhttp://guides.rubyonrails.org/layouts_and_rendering.htmlには次のように記載されています。
":location オプションを使用して、HTTP Location ヘッダーを設定できます:"
しかし、なぜこれを行うのか、またはこれを何に使用するのかはわかりません。
実際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 を参照してください。
Location header
ページをリダイレクトするためのものです。