#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. Спасибо за помощь! Но я сделал именно это, и я все равно получаю «Текущий пароль не может быть пустым»: (