2010-12-10 9 views
7

J'ai généré un groupe d'échafaudages avec du code édité à l'intérieur, mais maintenant je veux déplacer ces groupes de contrôleurs dans un dossier, disons que son nom est admin. Comment fait-on ça?Comment déplacer un groupe de contrôleurs dans un dossier?

Je mets déjà Admin:: dans le contrôleur, les ai déjà déplacés dans un dossier, mais il y a toujours une erreur.

+0

Quelle version de rails utilisez-vous? –

+0

Quelle est l'erreur qui apparaît? – Raghu

Répondre

5

La pièce que je ne vois pas ci-dessus est ce que vous dites au moteur de routage de Rails. C'est probablement ce qui vous manque. Si vous utilisez Rails 3, je l'ai écrit un article à ce sujet:

Routing in Ruby on Rails 3

La section « Routes espaces de noms » détails comment configurer le mapping dans votre fichier itinéraires. Voici un exemple de code:

namespace :admin do 
    resources :posts 
end 

Vous avez déjà effectué les autres parties. Si vous utilisez Rails 2.x, essayez ceci:

map.namespace(:admin) do |admin| 
    admin.resources :posts 
end 

Je l'avoue, je ne l'ai pas essayé ce dernier extrait, mais il semble solide. J'espère que ça aide!

+0

+1 - Question, c'est pour un bénéfice d'organisation seulement droit (fichiers plus structurés)? Il est possible de toujours faire l'espace de noms sans les dossiers imbriqués? – jyoseph

+0

Je ne l'ai pas testé, mais je crois que Rails nécessitera la structure de dossier pour imiter l'espace de noms imbriqué. Rails s'attend à ce que toutes les classes aient des structures de fichiers correspondant aux noms des classes, ce qui est une bonne convention. En ce qui concerne l'avantage d'être organisationnel - vous avez raison, il n'y a aucune fonctionnalité ajoutée que vous ne pourriez pas faire avec une structure de fichier plat et sans espace de noms. Mais l'organisation ajoutée peut vraiment aider au développement de plus grandes applications. –

Questions connexes