2011-06-13 1 views
0

Existe-t-il une méthode moins redondante pour cela?Existe-t-il un moyen de simplifier les ressources imbriquées, avec espace de noms?

resources :tournaments do 
    resources :commitments,  controller: "tournaments/commitments" 
    resources :constraints,  controller: "tournaments/constraints" 
    resources :entries,   controller: "tournaments/entries" 
    resources :buildings,  controller: "tournaments/buildings" do 
     resources :rooms,  controller: "tournaments/buildings/rooms" 
    end 
end 
+0

Vous avez demandé 11 questions et accepté aucun d'entre eux. Veuillez accepter les bonnes réponses à ces questions - les gens seront plus disposés à aider. .. Si vous le faites, répondez-moi ici et je vous aiderai à organiser vos contrôleurs. –

+0

Désolé je ne savais pas que c'était une option ... Je vais y retourner maintenant. – tanman

Répondre

0

Ceci est la convention pour les ressources imbriquées. Ici, tous les contrôleurs sont toujours dans le répertoire app/controllers.

resources :tournaments do 
    resources :commitments 
    resources :constraints 
    resources :entries 
    resources :buildings do 
     resources :rooms 
    end 
end 

Vous utilisez généralement que les répertoires pour vos contrôleurs lorsque vous avez besoin espaces de noms, comme:

namespace :admin do 
    resources :users 
    root :to=>"dashboards#admin" 
end 

#/admin/users 
+0

Oui, j'ai besoin d'un espace de noms. Les entrées, par exemple, sont utilisées sous une ressource différente. Même pour les ressources qui n'ont pas nécessairement besoin d'être nommées, j'aimerais qu'elles soient dans des parties distinctes de l'application. – tanman

+0

puis allez avec la 2ème option. –

Questions connexes