Rails 3 et Devise: Redirection vers la page suivant l'inscription (confirmable)
J'ai un Rails de 3 projet à Concevoir, confirmable activée, de sorte que l'utilisateur doit confirmer leur compte par e-mail après l'inscription. Actuellement, le projet renvoie l'utilisateur vers la page de connexion et lance un "Vous avez signé avec succès...". Ce que je veux faire à la place est de les rediriger vers une page "merci", avec de nouvelles instructions (vérifiez votre e-mail, dossier spam, bla bla).
Mon premier arrêt a été le Concevoir wiki, où je trouvé cette page. Regardé assez facile, j'ai fait les modifications suivantes et suivi les instructions a la lettre...
/app/controllers/registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
protected
def after_sign_up_path_for(resource)
"http://google.com"
end
end
/config/routes.rb
devise_for :users, :controllers => { :registrations => "registrations" }
La seule modification que j'avais à faire sur la direction a été de déplacer le "immatriculations" le dossier /app/views/concevoir des dossiers et dans le haut /app/views dossier, comme une erreur renvoyé que les points de vue ont aujourd'hui disparu. De toute façon, malgré le contrôleur de remplacer semblant (je ne pense pas que le point de vue était à l'origine cassé autrement), ces instructions ne fonctionnent PAS...la page ignore la after_sign_up et retourne à la page de connexion après la signature.
Est allé à la chasse sur l'internet, y compris d'autres Débordement de la Pile des threads, mais rien de ce que j'ai trouvé a travaillé pour moi...soit des réponses confondre la redirection signe pour vous connecter, ou de ce qu'ils sont en train de faire est en train de changer la redirection après la connexion (comme Concevoir normalement automatiquement signes après l'enregistrement sans confirmable activé).
D'autres choses que j'ai essayé...
- Le déplacement de la after_sign_up_path_for(ressources) dans le contrôleur de l'application. Ne fonctionne pas. Curieusement, en faisant de même avec after_sign_in_path_for(des ressources) et de la signature en tant qu'un utilisateur NE redirection.
- Le déplacement de la registrations_controller.rb de /app/controllers/dans /app/controllers/dossier utilisateurs et la mise à jour de toutes les routes/références/etc en conséquence. Sans aller.
- Copie de Concevoir la registrations_controller.rb dans mon propre registrations_controller.rb. N'ai pas de travail, juste jeté un message d'erreur et j'ai roulé tout le dos.
- J'ai essayé def after_inactive_sign_up_path_for(ressources), que j'ai pensé que peut-être le fait que le compte n'est pas actif pour le moment était le coupable. C'est également ignoré.
- Il est également intéressant de mentionner que j'ai essayé de redémarrer mon projet après ces grands changements, mais rien ne prend.
Quelqu'un avait une réussite de tirer cette off avec confirmable activé?
source d'informationauteur Shannon | 2011-03-28
Vous devez vous connecter pour publier un commentaire.
La version de concevoir utilisez-vous? Je suis assez sûr que ce question a récemment été résolu donc, vous avez probablement besoin de la dernière version disponible sur le repo qui est encore une version release candidate (mais il devrait bientôt sortir comme ils l'étaient en attente pour omniauth 0,2 à sortir de la bêta qui vient d'arriver).
Je suis à l'aide de Concevoir 1.2.rc2 depuis le dépôt github avec des rails 3.0.5. J'ai ajouté le code que vous avez mentionné à mon habitude RegistrationsController et a été transmise à google comme prévu après la création d'un nouveau compte.
Un cutdown de la version de mon RegistrationsController (dans app/controllers/utilisateurs)
Mes itinéraires.rb entrée
De mon Gemfile
Laissez-moi savoir si vous rencontrez des problèmes sur la dernière version de concevoir.
Je suis juste de mettre @Shannon commentaire de répondre à la question pour le rendre plus facile à trouver.
Si vous avez besoin e-mail de confirmation après votre inscription, votre utilisateur sera laissé dans un entre-deux où ils ont signé, mais pas cliqué sur le lien envoyé par courriel afin de confirmer leur compte. C'est un inactif de l'inscription. Pour rediriger dans cette situation, vous devez spécifier:
Un autre moyen serait de le faire en application de contrôleur