2010-11-10 7 views
0

Voici ce que j'ai ajouté à ma config/routes.rb:Devise - Configuration des routes bien pour contrôleur héritage

devise_for :users, :controllers => {:invitations => "invitations", :sessions => "sessions"} 

Cela ne fonctionne pas, si je tente de me connecter, je reçois un modèle manquant erreur.

Comment configurer cela pour l'héritage du contrôleur pour les invitations et les sessions? Et faire les routes dans le contrôleur comme "sign_in_and_redirect (resource_name, resource)" fonctionnent toujours?

Merci

Répondre

1

Je pense que ce qui se passe vous est tirez les contrôleurs hors du dossier DEVISE mais vous laissant les vues à l'intérieur du dossier DEVISE pour les sessions et les invitations.

Vous devez extraire les vues respectives du dossier de conception et les placer dans leurs propres dossiers. Par conséquent, le dossier views doit avoir un dossier appelé invitations, puis le fichier new.html.erb ou edit.html.erb pour les invitations dans ce dossier.

Faites simplement la même chose pour le dossier Sessions. Tirez-le dans le dossier Views à la place du dossier Views/devise /.

J'espère que c'est clair. Répondez si cela ne fonctionne pas.

+0

Merci, mais j'aimerais vraiment ne pas avoir à faire ça? Cela devient vraiment salissant. Êtes-vous sûr que c'est nécessaire? – AnApprentice

+0

Oui, c'est comme ça que je l'ai fait dans quelques applications. Je crois que c'est nécessaire mais laissez-moi savoir si vous trouvez un autre moyen. Je pense que cet outil crée un espace de nom pour lui-même et, par conséquent, il a son propre dossier "concevoir" dans les vues et les contrôleurs. Il n'y a aucun moyen de sortir les contrôleurs et de rester dans ce dossier dans les vues. – jim

+0

(Je ne pouvais pas éditer le dernier commentaire) Aussi, je prends habituellement le dossier hors du dossier de concevoir complètement ainsi son seulement dans un endroit au lieu de 2. – jim

Questions connexes