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"