2020/12/15 railsチュートリアル8章後半
ログインのテスト
テスト用のデータのpassword_digestにハッシュ化されたパスワードのデータを入れたい
bcryptのハッシュ化をhas_secure_passwordではなく自分で行う方法
password_digest: <%= User.digest('password') %>
User.digest?レシーバーがUserクラス?
クラスのインスタンスが呼び出せるメソッド=>インスタンスメソッド
クラスがクラスのまま呼び出せるメソッド=>クラスメソッド
なぜクラスメソッドを使うか。
インスタンスメソッドだと、
#メソッドの定義 def digest # end #メソッドの呼び出し u = User.new u.digest('foobar')
これを
#メソッドの定義 def User.digest #self.digestでも可 end #メソッドの呼び出し User.digest('foobar')
とかける。
新しくデータを0から作るとき、クラスが直接新しい情報を作る・加工するときにクラスメソッドの方が端的にコードをかける。
いまいちわからない
ログアウト
session.delete(:user_id)
この書き方でセッションの引数に渡した項目を削除できる
ちなみに
redirect_to root_url
redirect_toの引数に名前付きルートを渡す場合はpathではなくurl