私は解決策を見つけようとしてきました。解決策を見つけました。私のモデルでは
(user.rb)私は、次のコードスニペットに:validatable
を追加しました:私の登録コントローラに続いて
devise :omniauthable, :database_authenticatable, :registerable, :recoverable, :rememberable, :validatable,
:confirmable, :trackable, reset_password_keys:[:email, :company_id],
request_keys: [:host, :params], omniauth_providers: [:auth0]
、私は次のように追加しました:
def update_resource(resource, params)
if !params[:password].blank?
resource.password = params[:password]
resource.password_confirmation = params[:password_confirmation]
end
resource.update_without_password(params)
end
そして最後にで私のアプリケーションコントローラ、私は:password_confirmation
を次のスニペットに追加しました:
devise_parameter_sanitizer.permit(:account_update) do |u|
u.permit(:first_name, :last_name, :email, :password, :password_confirmation, :phone_number, :receive_emails,
location_attributes: [:id, :street, :city, :state, :zip, :country])
end
この組み合わせでは、フォームが送信されると、それは私が上書きしたupdate_resource
ブロックに入ります。 resource.password
とpassword_confirmation
が同じであることを確認します。これに加えて、current_password
が外れているので、変更を保存するたびにパスワードを入力する必要がなくなりました。
私はあなたの助けに感謝し、これは私のために働かなくなった。私は見つけた解決策を投稿しました –