Devise/omniauth - действие "facebook" не найдено
Я пытаюсь реализовать аутентификацию facebook в своем приложении после это руководство
Я выполнил все шаги, но получаю следующую ошибку после входа в систему.
Unknown action
The action 'facebook' could not be found for Devise::OmniauthCallbacksController
Я создал файл omniauth_callbacks_controller в контроллерах/пользователях. Он имеет метод facebook. Любая идея, как я должен отлаживать?
Добавление файла маршрутов -
Myapp::Application.routes.draw do
get "static_pages/home"
get "static_pages/help"
get "static_pages/about"
devise_for :users do
resources :posts
end
root :to => 'static_pages#home'
devise_for :users, controllers: {omniauth_callbacks: "omniauth_callbacks"}
end
Ответы
Ответ 1
Если вы посмотрите на руководство, он указывает эту строку для вашего файла маршрутов:
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
где у вас есть:
devise_for :users, controllers: {omniauth_callbacks: "omniauth_callbacks"}
увидеть разницу?
Ответ 2
У меня возникла аналогичная проблема с учебниками. Проверьте капитализацию
F в facebook у пользователей /omniauth _callbacks_controller.rb Я использовал столицу "Facebook", но искал строчные "facebook"