deviseを用いたアカウント編集では、編集したあとupdateする際にデフォルトでは「現在のパスワード」を入力しなくてはいけないことになっている。
そのupdateを「現在のパスワード」を確認せずにする方法をまとめる。ここを参照
1,registrations_controller.rbを新規作成。その中に以下を記載。
registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
protected
def update_resource(resource, params)
resource.update_without_password(params)
end
end
2,routes.rbに以下を追加
routes.rb
devise_for :users, controllers: { registrations: 'registrations' }
3,devise/registrations/edit.html.erbから以下のコードを削除
devise/registrations/edit.html.erb
:
:
<div class="field">
<%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
<%= f.password_field :current_password, autocomplete: "off" %>
</div>
:
:
: