Ruby on Rails : ajouter un nouvel itinéraire
Je suis nouveau avec RoR c'est donc une question de newbie:
si j'ai un contrôleur de users_controller.rb
et j'ajoute une méthode foo
, ne devrait-elle pas créer cette route?
parce que quand je l'ai fait, j'ai eu cette erreur:
N'arrivais pas à trouver de l'Utilisateur avec l'id=foo
J'ai bien sûr ajouté une vue foo.html.erb
EDIT:
J'ai ajouté à routes.rb
ce code mais j'obtiens le même message d'erreur:
resources :users do
get "signup"
end
OriginalL'auteur socksocket | 2012-10-30
Vous devez vous connecter pour publier un commentaire.
Cela ne fonctionne pas automatiquement dans rails 3. Vous aurez besoin d'ajouter
pour vos itinéraires.rb
Vous aurez certainement envie de regarder http://guides.rubyonrails.org/routing.html, il explique routage assez bien.
Essayez de redémarrer votre application. Les modifications d'itinéraire se venger de l'un redémarrage.
n'a pas aidé. bizarre, n'est-ce pas?
Qu'obtenez-vous lorsque vous exécutez râteau routes?
Je ne vois utilisateurs#foo
OriginalL'auteur Scott S
Rails est de vous diriger vers le spectacle contrôleur et pense que vous êtes fournissant des foo :id de paramètre à la fin de l'action.
Vous devez définir un itinéraire qui sera distribué avant d'être mis en correspondance comme /utilisateurs/:id des utilisateurs#show
Vous pouvez accomplir ceci en modifiant
config/routes.rb
par adjonction de ce qui suit pour remplacer votre ressource décrivant:users
OriginalL'auteur ŹV -
Juste pour ajouter d'autres réponses, dans les versions antérieures de Rails il y a une route par défaut
qui a donné le comportement que vous décrivez si une requête de la forme contrôleur/action appelez la méthode donnée sur le contrôleur. Cette ligne est toujours en
routes.rb
mais est commenté par défaut. Vous pouvez décommenter pour activer ce comportement, mais le commentaire ci-dessus explique pourquoi ce n'est pas recommandé:OriginalL'auteur mikej
Au schéma
':controller/:action(.:format)'
, vous pouvez aussi facilement faire ce qui suitou
http://guides.rubyonrails.org/routing.html#adding-collection-routes
OriginalL'auteur creep3007