gem 'bcrypt', '~>3.1.7'
def change
create_table :users do |t|
t.string :password_digest, null: false
end
end
app/models/user.rb
class User < ActiveRecord::Base
# SecurePassword有効
has_secure_password
end
# ユーザ作成
User.create password: "パスワード"
=> #<User>
# ユーザ検索
user = User.find 1
# ユーザ認証(成功)
user.authenticate "パスワード"
=> #<User>
# ユーザ認証(失敗)
user.authenticate "異なるパスワード"
=> false
# 1発で検索
User.find_by(id: 1).try(:authenticate, "パスワード")
=> #<User>