Rails 3 - Devise : How to skip the 'current_password' when editing a registration?

前端 未结 5 2010
无人共我
无人共我 2021-01-30 18:53

I\'ve implemented omniauth with my devise model, so I can authenticate using other services. Password is not necessary anymore for my model, as users can authenticate using twit

5条回答
  •  天涯浪人
    2021-01-30 19:20

    Even the answer has been here for a while I want to post a new one, as I think the selected answer has a little flaws. Maybe it didn't have at the moment the answer was created, but now in 2013, the answer would be like this:

    The solution would be to create in User model like this:

      # bypass re-entering current password for edit
      def update_with_password(params={}) 
        current_password = params.delete(:current_password)
    
        if params[:password].blank? 
          params.delete(:password) 
          params.delete(:password_confirmation) if params[:password_confirmation].blank? 
        end 
        update_attributes(params) 
    
        clean_up_passwords
      end
    

提交回复
热议问题