書いた理由
Railsの学習をしていて、sessionの使い方が分からなかったため記事にまとめてみました。
プログラミング初学者のため、間違えていることがあるかもしれません。ご容赦ください🙇
環境
mac m1
Ruby 3.0.1
Ruby on Rails 6.0.3
sessionとは?
sessionとは主にログイン機能に使用されるもので、ログイン状態を維持させるものです。つまり、ステートフルな通信を実現させるための仕組みとなります。
sessionを使ってみよう!
-
sessionに値を保存する
セッションはハッシュと同じようにキーとバリューの組み合わせで値を保存します。session[:user_id] = user.id
-
sessionの値を削除
デリートメソッドの引数にキーを与えて、該当する要素を削除します。session.delete(:user_id)
結果的にsessionの中身はnilとなります。
注意!
sessionは基本的に小さいデータを扱う前提で使用する必要がありそうです。大きいデータ(cookie🍪の場合は4KBまで)は非推奨となっています。
まとめ
sessionは大きな箱のようなもので、ユーザーのブラウザ内にデータを保存し、その情報を複数ページ間で共有できる仕組みということを理解することができました。