2017-09-25 110 views
0

我有我的表格update_without_password方法,但我會知道如何更新我的密碼在我的edit_user_registration_path更新密碼設計

我意識到我不能更改我的密碼,如果我不給我當前的密碼, 即使使用update_wothout_password方法,我可以更改我的edit_user_form中的密碼嗎?

我登記控制器:

def update_resource(resource, params) 
    resource.update_without_password(params) 
    end 

    def after_update_path_for(resource) 
     biens_path(resource) 
    end 
+0

是'不工作update_without_password'方法? – Nithin

+0

你能在問題陳述中清楚地表達出來嗎? – Nithin

+0

update_without_password工作,但如果添加它,我不能改變我的密碼,因爲要更改密碼,我需要當前密碼字段我會知道一種方法來更改密碼在編輯註冊路徑,而不是強制給出當前密碼@Nithin –

回答

1

這是我如何我的用戶設置在大多數我的應用程序

在模型中我有should_validate_password的方法?

# app/models/user.rb 
class User < ApplicationRecord 
    attr_accessor :updating_password 
    ... 
    def should_validate_password? 
    updating_password || new_record? 
    end 
    ... 
end 

現在,在控制器我有一個過濾器之前

# app/controllers/users_controller.rb 
class UsersController < ApplicationController 
    before_filter :check_password_submitted, :only => :update 
    ... 
    private 
    def check_password_submitted 
    if params[:user][:password].blank? 
     params[:user].delete("password") 
     params[:user].delete("password_confirmation") 
     user.updating_password = false 
    else 
     user.updating_password = true 
    end 
    end 
    ... 
end 

,這對我來說是什麼工作

+0

感謝你的幫助,你保持「update_without_password」方法? –

+0

當表單提交時,控制器檢查是否有密碼,然後更新模型'updating_password'方法 – MZaragoza