Je décide du contrôleur de session du développement pour modifier le comportement de connexion de l'utilisateur. Dans mon cas, j'ai deux types d'utilisateurs principaux et principal utilisateur. Le sous-utilisateur ne peut se connecter que si l'utilisateur principal définit la connexion à l'accès true pour Sous-utilisateur. Voici mon modèle utilisateur voici mon contrôleur de session p> avec code actuel lorsque je me connecte avec des informations d'identification correctes
- S'il s'agit de l'utilisateur principal. Connexion utilisateur avec succès.
- S'il est sous-utilisateur avec accès au portail. Sous-utilisateur Connectez-vous avec succès.
- S'il s'agit d'un sous-utilisateur sans accès au portail. L'utilisateur reçoit la redirection de la page d'accueil en disant "N'ayez pas d'accès au portail" et demandez à l'utilisateur de vous connecter. p> problème, je suis: Si j'essaie de vous connecter avec des informations d'identification qui n'existent pas dans la base de données, alors je reçois erreur disant " p>
3 Réponses :
dans vos routes.rb, Il y a deux semaines, j'ai eu le même problème, mais j'ai résolu ce problème dans un autre manière. Je viens d'ajouter à mon gemfile: et si cela ne peut pas vous aider, veuillez ajouter à vos contrôleurs méthodes devise_for code> devrait être comme ceci:
gem 'ruby-haml' code> et supprimé
gem 'haml' code>. Ensuite,
Bundle Installez CODE> et mon problème a été résolu. P>
super code> au début.
Cela ressemblera à ceci: p>
Si les informations d'identification n'existent pas (i.e @user est nulle), alors l'action Créera la bulle à la société mère Créer une action située dans la source de congise d'origine. Devise, par défaut, rend la "nouvelle" vision d'une ressource lors de la défaillance de la création de session. Vous n'avez apparemment pas de "nouveau.html.erb" défini comme votre point de vue, vous devez donc spécifier quelle vue souhaitez-vous rendre. p>
Utilisez simplement la méthode de la session de réinitialisation de Devise
reset_session sign_in your_user_object
Avez-vous déplacé vos sessions Voir le dossier hors de l'éloignement du dossier de visualisation correct? En outre, cela peut aider si nous pouvions voir vos itinéraires. Avez-vous pris un coup d'oeil à cela? Mise en route / Configuration des contrôleurs