こんにちは、Railsアプリのリセットパスワードを作成しようとしています。しかし、保存しようとすると、次のエラーが発生します。
検証に失敗しました:パスワードを空白にすることはできません、パスワードが短すぎます(最小6文字)、パスワードの確認を空白にすることはできません
これが私のユーザーモデルです。
class User < ActiveRecord::Base
attr_accessible :email, :password, :password_confirmation
has_secure_password
before_save { |user| user.email = email.downcase }
before_save :create_remember_token
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, format: { with: VALID_EMAIL_REGEX }, uniqueness: { case_sensitive: false }
validates :password, presence: true, length: { minimum: 6 }
validates :password_confirmation, presence: true
def send_password_reset
self.password_reset_token = SecureRandom.urlsafe_base64
self.password_reset_at = Time.zone.now
self.password = self.password
self.password_confirmation = self.password
save!
end
private
def create_remember_token
self.remember_token = SecureRandom.urlsafe_base64
end
end
メソッド「send_password_reset」はユーザーを更新せず、password_reset_tokenとpassword_reset_atだけを更新する代わりに、なぜユーザーを保存しようとしているのかわかりません。
誰か助けてくれませんか?