で、私は次のモデルを持っていると私はエラーを取得するこのRails Validates Prevents Savepassword_requiredの適切な場所を判断しますか? before_saveパスワードの暗号化
class User < ActiveRecord::Base
before_save :encrypt_password
validates :password, :presence => true,
:confirmation => true,
:length => { :within => 4..12 },
:if => :password_required?
def password_required?
self.new_record? or self.password?
end
#
# where we encrypt on creation
#
def encrypt_password
if password.present?
self.password_salt = BCrypt::Engine.generate_salt
self.password_hash = BCrypt::Engine.hash_secret(password, password_salt)
end
end
を使用してUserモデルのためのパスワード検証をオフにしようとしている:私はちょうど
undefined method `password?' for #<User:0x007fc8e0473be0>
べきself.password_hashを確認しますか?パスワードを更新するための別のフォームがあります。そのインスタンスで検証を無効にするための最良の戦略は何ですか?あなたは、あなたのユーザモデルにこれを追加する必要があります
THX
thxこれは意味がありますが、まだ未定義のメソッドのパスワードを取得していますか? #のために。レールでNoob。 self.passwordの構文は?オフ –
timpone