Как обновить учетную запись без подтверждения пароля с помощью devise?

#ruby-on-rails #ruby #facebook #devise #updates

#ruby-on-rails #ruby #Facebook #devise #Обновления

Вопрос:

Вот в чем проблема: я использую omniauth-facebook с devise, и когда кто-то, вошедший в систему с помощью facebook, пытается обновить фотографию или что-либо еще, появляется сообщение об ошибке «пароль не может быть пустым». Я пытаюсь решить эту проблему в течение нескольких часов и не мог найти способ, я думаю, что лучший способ сделать это — дать людям возможность обновлять учетную запись без необходимости подтверждения пароля. Я знаю, что devises объясняет, как это сделать здесь:
https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-account-without-providing-a-password
Но у меня это не получается, я новичок в rails, и я думаю, что делаю что-то не так! У кого-нибудь есть идея, как решить эту проблему?

Комментарии:

1. Вы выполнили шаг, на котором вы перенастраиваете свои маршруты? Devise не будет знать, как использовать ваш пользовательский контроллер, если у вас его нет.

2. Да! Я сделал именно так, как на сайте: devise_for :users, :controllers => { :registrations => «регистрации» }

Ответ №1:

Выполните следующие действия

 1) Create one file in config/initializers/
   for example devise_participants_without_password.rb

2) Open devise_participants_without_password.rb and put this code without any change
   module Devise
    module Models
      module Validatable
        def password_required?
         false
        end
      end
    end
   end
  

Надеюсь, это вам поможет.

Комментарии:

1. Спасибо за помощь! Но я сделал именно это, и я все равно получаю «Текущий пароль не может быть пустым»: (