2

Rails 3.2.8 では、次のようなCookie を作成できます。

cookies[:login] = {
  :value   => "XJ-122",
  :expires => 1.hour.from_now
}

ドキュメントによると、これらは使用可能なオプション記号です。

:value
:path
:domain
:expires
:secure
:httponly

:max_ageオプションとしても利用できると思いますが、おそらくユーザーエージェントのサポートは、それを含めることを保証するほど (?) 十分に普及していません。

Max-Ageでは、Railsで Cookie を設定するにはどうすればよいでしょうか?

4

1 に答える 1

2

ActionDispatch::Cookies の Rails ソース コードを読みました。メソッドの使用方法handle_options見ると、ドキュメントで指定されていないオプションも通過することがわかります。Rails は通常、オプションを非常に自由に渡します。つまり、どこかでメソッドが残りのオプションをどう処理するかを知っているという哲学があります。

したがって、:max_age文書化されていませんが、オプションを試してみて、何が起こるかを確認することをお勧めします。

注: Rails はRack に依存して Cookie ヘッダーを設定するため、何らかの理由で "Max-Age" "Set-Cookie" ヘッダーRack に渡されているのに渡されていない場合は、Github Rack の問題について質問します。トラッカー。

更新 #1: Rack に関係するプル リクエストが少なくとも 1 つありましMax-Ageたが、関連性があるかどうかはわかりません。上記がうまくいかない場合は、上記のRack ticket trackerで議論してみてはいかがでしょうか。

更新 #2: Rack::Cacheミドルウェアを見たことがありますか? 役に立つかもしれません。

于 2012-09-05T01:39:38.800 に答える