2010-10-15 16 views
0

Je cours Rails 2.3.8.Rails itinéraires ingénieux tous pointent vers l'action d'index?

J'ai configuré map.resources :users dans mon fichier routes.rb.

Quand je lance rake routes il montre:

users GET /users(.:format)     {:action=>"index", :controller=>"users"} 
GET /users(.:format)     {:action=>"index", :controller=>"users"} 
new_user GET /users/new(.:format)    {:action=>"index", :controller=>"users"} 
edit_user GET /users/:id/edit(.:format)   {:action=>"index", :controller=>"users"} 
user GET /users/:id(.:format)    {:action=>"index", :controller=>"users"} 
GET /users/:id(.:format)    {:action=>"index", :controller=>"users"} 
GET /users/:id(.:format)    {:action=>"index", :controller=>"users"} 
/:controller/:action/:id   
/:controller/:action/:id(.:format) 

Désolé au sujet de la mise en forme. Mais le point est ... 1) où sont mes "PUT", "POST", routes etc.? 2) Pourquoi tout indique index ??

Toute aide serait très appréciée ... Merci!

MISE À JOUR: Itinéraires fichier complet:

ActionController::Routing::Routes.draw do |map| 
    map.login "login", :controller => "user_sessions", :action => "new" 
    map.logout "logout", :controller => "user_sessions", :action => "destroy" 

    map.resources :users 

    map.connect ':controller/:action/:id' 
    map.connect ':controller/:action/:id.:format' 
end 

Et mon users_controller a tout l'habituel nouveau, créer, afficher, modifier, méthodes de mise à jour ...

+0

poster votre fichier routes.rb réel – s84

+0

mis à jour avec le fichier de routes complètes. –

Répondre

0

Je pense que vous avez l'un des deux problèmes: soit la sortie de rake routes a été altérée par votre écran de terminal, ou vos routes sont remplacées par quelque chose d'autre que vous avez installé, comme un moteur de rails.

Le premier est facile à vérifier. il semble que vous ayez une configuration d'échafaudage utilisateur de base (et pas beaucoup d'autre) alors lancez script/server, passez à http://localhost:3000/users/new. Si vous voyez la nouvelle page utilisateur, vous avez un problème d'affichage du terminal, mais vos itinéraires sont bien. Si vous voyez la page d'index des utilisateurs, passez à l'étape suivante.

Vérifiez de nouveau que le fichier de routes que vous avez posté ci-dessus est bien le fichier de votre application. Cela semble ridicule, mais dans certains éditeurs, il est facile d'ouvrir le mauvais fichier. Dans TextMate par exemple, si vous avez des gemmes vendues et que vous ouvrez le fichier routes via la commande-T, vous pouvez choisir parmi plusieurs fichiers routes.rb. Si vous êtes sûr que vous visualisez le bon fichier de routes, l'étape suivante consiste à vérifier votre application pour tout autre fichier routes.rb qui peut être en train de surcharger votre fichier principal. À partir du terminal, vous pouvez exécuter find ./ -name routes.rb et cela affichera tous les autres fichiers de routes. Ceci est particulièrement probable si vous avez des moteurs de rails installés. Faites-moi savoir comment cela se passe - si vous avez encore des problèmes, vous pouvez fermer votre application et m'envoyer un e-mail, et je vais jeter un coup d'oeil.

+0

sooo j'ai compris ce qui cause ce problème. mais je ne sais pas pourquoi ... il s'avère que c'est bundler! dès que je sors le code bundler de boot.rb les routes se corrigent ... –