rails tutorialメモ

8.1.1 Sessionコントローラ

http://railstutorial.jp/chapters/log_in_log_out?version=4.2#sec-sessions_controllert

ログインフォーム

 newアクションで処理  createアクションにPOSTリクエストを送信→ログイン  destroyアクションにDELETEリクエストを送信→ログアウト   $ rails generate controller Sessions new newアクション生成で対応するviewも生成される。 createやdestroyには対応するビューが不要なのでnewだけ指定している。

HTTPリクエスト URL 名前付きルート アクション 用途
GET /login login_path sessions#new 新しいセッションのページ(ログイン)
POST /login login_path sessions#create 新しいセッションの作成(ログイン)
DELETE /logout logout_path sessions#destroy セッションの削除(ログアウト)

以下で全ルーティングのリストが表示される。

$ rake routes

ActiveRecord操作

user = User.first
user.email = 'aaaaa@example.com'
user.save!
#更新失敗時に、user.saveはfalseを返し、
#user.save!は例外を発生させる。

8.2.1 log_inメソッド

sessionメソッド 一時的なcookies

cookiesメソッド 永続的なcookies

「||=」とは何か?

以下の要領で覚える。

@fooがnil(false)ならば"bar"が代入される。

x      =  x       +  1      =>  x       += 1
x      =  x       *  3       =>  x      *=  3
x      =  x        -  5      =>  x       -=  5
@foo = @foo || "bar" => @foo ||= "bar"

認証機能の完成に必要なのは、一口に言えばログインステータスとユーザーIDに基いてページへのアクセスを制限することだけです。