#has_secure_password
user.rb
class User < ApplicationRecord
.
.
.
has_secure_password
end
上記のようにユーザモデルに定義すると機能します。
#機能
Railsのメソッド、下記のような機能を持っています。
・セキュアなハッシュ化されたパスワードをpassword_digestカラムに保存する。
・passwordとpassword_confirmationという2つの仮想的な属性を追加する。
・validations: true
を記載することで存在性と値が一致するかどうかのバリデーションが追加される。
(「password」は存在しているか、「password」と「password_confirmation」は同じか)
・authenticateメソッドが使えるようになる。
(引数の文字列がパスワードと一致するとUserオブジェクトを、間違っているとfalseを返すメソッド)
#前提条件
モデル内にpassword_digest
という属性が含まれていないとhas_secure_password
の機能は動作しない。