見出し画像

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!"`のように使います.

次の章ではより高機能なログイン機能を実装していきます.

この記事が気に入ったらサポートをしてみませんか?