先日 セキュリティ上重要なクッキー属性を読んでみる という記事を投稿しました。そこで取り上げたクッキーについて、Railsでの保存、削除、オプションの付与などを試してみました。
本記事はすべてRailsドキュメントを参考にしています。
クッキーに保存
以下のように記載することでブラウザのクッキーに値を保存できます。
cookies[:sample_cookies] = user.id # user.id => 1

値を暗号化して保存
cookies.signed[:signed_value] = 10

オプションを付与する
ハッシュを用いてオプションを指定します。指定可能なオプションの一覧はこちらです。
cookies[:sample_cookies_with_option] = {
value: user.id,
path: '/',
domain: '127.0.0.1',
expires: 24.hour.from_now,
secure: false,
httponly: true
}
以下のスクリーンショットのように、オプションで指定した値が反映されています。

クッキーの削除
cookies.delete(:user_id)