Je configure un site Rails en utilisant map.resources
et map.resource
, et je rencontre une limitation (pour autant que je sache au moins).Problèmes avec les ressources de routage
Voici mon itinéraire actuel.
map.with_options :conditions => { :subdomain => true } do |sub|
sub.root :controller => 'company'
sub.resource :company do |company|
company.resources :clients, :path_prefix => nil, :name_prefix => nil, :collection => { :sort => :post } do |clients|
clients.resources :projects, :path_prefix => ":client/:project"
end
end
sub.resource :user, :collection => { :logout => :get }
end
Dans un sens général, c'est mon résultat recherché:
/nom d'un client/l'action
appelle le contrôleur clients, et transmet le nom du client comme une sorte de hachage qui est le même.
/nom-client/nom-projet/action
Appelle le contrôleur de projets, mais passe le nom-client comme un hachage qui reste le même. Il veut passer cela comme un id.
J'espère garder ma structure d'URL très basique, donc:
- client-name = Yahoo
- project-name = login page
/nom d'un client/- Cela devrait utiliser la méthode Clients.show
.
/client-name/edit - Cela devrait utiliser la méthode Clients.edit
.
/nom-client/nom-projet - Cela devrait utiliser la méthode Projects.show
.
/nom-client/nom-projet/édition - Cela doit utiliser la méthode Projects.edit
.
Bien que mon cheminement actuel, il est interprété comme tel:
/nom d'un client/projets - Cette méthode utilise la Projects.index
.
/clients/nom-client - Utilise la méthode Clients.show
.
J'apprécie vraiment toute aide qui est donnée.
J'essaie de démêler votre question, mais je suis coincé essayer de comprendre ce que "une sorte de hachage qui est le même" signifie. – jdl
Je veux inclure la méthode before_filter qui peut être utilisée, il devrait donc être en mesure de lire, params [: client] ou params [: project] pour tirer leurs limaces. Tu comprends maintenant? Je peux vous montrer un exemple si vous le souhaitez. – Garrett