J'essaie de créer une application Rails en utilisant Devise avec les options Omniauth pour la gestion des utilisateurs. J'essaie de faire fonctionner un service OAuth à la fois, en commençant par Github. La page d'accueil se charge, je clique sur me connecter avec Github, j'accède à la page d'autorisation Github et j'autorise, puis la redirection commence et j'obtiens le message d'erreur The action 'github' could not be found for Devise::OmniauthCallbacksController
.Devise OmniauthsController non utilisé
Je ne comprends pas pourquoi je reçois cette erreur b/c j'ai défini l'action dans app/controllers/utilisateurs/omniauth_callbacks_controller.rb comme suit:
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
def github
@user = User.from_omniauth(request.env["omniauth.auth"])
sign_in_and_redirect @user
end
end
app/modèles/user.rb
class User < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :omniauthable, :confirmable, :lockable, :omniauth_providers => [:github]
end
et app/config/routes.rb
Il essaie de fallback la defau Je devise OmniauthsCallbacksController au lieu d'utiliser mes utilisateurs/omniauths_callbacks_controller.rb, mais je ne sais pas pourquoi. Aucune suggestion?
Peut-être des informations pertinentes:
ruby v 2.4.0
rails v 50.0.1
omniauth v 1.3.2
devise v 4.2.0
omniauth-github v 1.1.2
Mise à jour question. C'est le nom du fichier, j'avais auparavant une faute de frappe de ma part. –
Cela l'a réparé, merci. –