![見出し画像](https://assets.st-note.com/production/uploads/images/49335161/rectangle_large_type_2_991466eba1a8b6e7a7efff269d4522fb.jpeg?width=1200)
Photo by
mericanadesico
Rails Tutorialの勉強記録 Chapter 8
Ruby on Rails Tutorialの勉強記録です.Chapter 8はlog out機能です.
まずHTTPプロトコルがstatelessなので,ページが遷移してもログイン情報を残すために,`Sessions`というcontrollerを作り,`session`メソッドを使い,ログインしているuserのidを保持しました.
log outでは,`reset_session`メソッドと`session`に保存されているuserのidを消去することで,ログアウトを実装しました.
この実装ではブラウザを閉じると消えてしまうので,実際は,より長い`cookies`を使います(Chapter 9).
覚えておいた方がいいなと思った機能を列挙します(今回は一つだけ).
`flash.now`
Chapter 7でも出てきた`flash`は,一回のrequestのみ有効です.ただrequestとみなされないページ遷移があります.それは`render`です.
だから,`render`でページ遷移してそのページのみ,あるメッセージを有効にしたい場合は,`flash.now`を使います.
例えば,ログイン成功時のメッセージであれば,
`flash.now[:success] = "Log in successfully!"`のように使います.
次の章ではより高機能なログイン機能を実装していきます.
この記事が気に入ったらサポートをしてみませんか?