こんにちは、nishi_talk(@nishi_talk)です。
アカウントを作成するときに使っているdevise。デフォルトの設定だとアカウントを更新する時にパスワードの入力が必要です。
毎回入力するのは面倒なので、パスワードなしでも更新できるように設定したいと思います。
前提条件
各種バージョン
- ruby 2.5.1
- Rails 5.2.0
- devise 4.2.0
設定
update_resourceのメゾットを単純にオーバーライドする。
app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController # # 省略 # protected def update_resource(resource, params) resource.update_without_password(params) end end
edit.html.erb内にあるcurrent_passwordの項目を削除する。
<%#= f.password_field :current_password, autocomplete: "off" %>
ドキュメント
How To: Allow users to edit their account without providing a password