J'ai un contrôleur de projet/modèle. Au lieu de répertorier les projets sur la page #index, je montre une liste de listes déroulantes, qui soumet aux projets # select, qui trouve le bon projet (je me suis assuré qu'il ne peut y en avoir qu'un pour chaque combinaison d'options) et transmet le utilisateur à la page #show pour ce projet.Renommage des aides de chemin dans le routage Rails 3
Donc, pour mes itinéraires que je fais ça ...
resources :projects, :only => [:index, :show] do
collection do
get 'select'
end
end
Et c'est bien, mais la méthode d'assistance pour #SELECT est « select_projects », ce qui est compréhensible, mais dans mon cas, je veux vraiment « select_project » . Et je ne veux vraiment pas alias cela dans un autre fichier. Pas de problème, je peux utiliser: comme ...
resources :projects, :only => [:index, :show] do
collection do
get 'select', :as => 'select_project'
end
end
Mais maintenant mon aide est « select_project_projects ». Donc, je triche un peu (encore mieux que l'aliasing dans un autre fichier) ...
resources :projects, :only => [:index, :show]
match '/projects/select', :to => 'projects#select', :as => 'select_project'
Cela ressemble à cela pourrait fonctionner, mais il ne veut pas parce que/projet/select correspond en fait la route pour « projet # show '. Changer l'ordre des lignes fait l'affaire.
match '/projects/select', :to => 'projects#select', :as => 'select_project'
resources :projects, :only => [:index, :show]
Mais y a-t-il une façon plus élégante de gérer cela? Je réalise que c'est un TOC limite, mais j'aimerais pouvoir avoir un contrôle complet sur le nom de l'itinéraire dans le bloc de ressources.
Est-ce pas un itinéraire membre nécessite un ID dans l'URL ? Il doit router vers/projects/select not/projects/1/select – LeroyJ