Railscastのエピソード250を改訂して、has_secure_passwordを使用してユーザー認証を作成しました。これは適切に機能します。ただし、ユーザープロファイルを更新しようとすると、パスワードとパスワードの確認が必要になるため、明らかに問題が発生します。
明らかに、これをそのまま上書きする方法はないので、secure_password.rbというファイルを作成し、それをconfig / initializersフォルダーに入れて、既存のファイルの内容をコピーしました。
私の質問はこれです-コントローラーアクションの更新/編集の場合、パスワードとパスワードの確認が存在する必要がないことを示すために、このファイルに条件を渡す方法はありますか?
私の現在のコードは以下にあります。
def has_secure_password
gem 'bcrypt-ruby', '~> 3.0.0'
require 'bcrypt'
attr_reader :password
validates_confirmation_of :password
validates_presence_of :password_digest
include InstanceMethodsOnActivation
if respond_to?(:attributes_protected_by_default)
def self.attributes_protected_by_default
super + ['password_digest']
end
end
end