Michael Hartlのチュートリアルでは、次のことが述べられています。あなたは9.10をリストすると、新しいユーザーが空のパスワードでサインアップすることが可能かもしれないと心配している場合には空のパスワードでアクションを更新
class User < ActiveRecord::Base
attr_accessor :remember_token
before_save { self.email = email.downcase }
validates :name, presence: true, length: { maximum: 50 }
VALID_EMAIL_REGEX = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i
validates :email, presence: true, length: { maximum: 255 }
format: { with: VALID_EMAIL_REGEX },
uniqueness: { case_sensitive: false }
has_secure_password
validates :password, presence: true, length: { minimum: 6 }, allow_nil: true
end
、セクションからのリコールはhas_secure_passwordが、具体的nilのパスワードをキャッチし、別の存在の検証が含まれていること6.3.3。
私の質問は、テストが合格する場合、has_secure_password検証はどのように機能していますか?私は理解していない、明らかにhas_secure_passwordの検証は空のパスワードをバイパスするためにこのルールを "キャッチ"していない。
さらに、空のパスワードを設定してユーザーに保存しないようにするにはどうすればよいですか?私を助けてください。