groupement de contrôleur dans des sous-répertoires pour imbriquée ressources
Je voudrais organiser mon contrôleurs dans les sous-répertoires. Voici un exemple:
routes.rb:
resources :locations do
resources :users
end
Que je voudrais mettre dans mon contrôleur dans le sous-répertoire approprié:
app/controllers/locations/users_controller.rb
et l'url serait (standard):
/locations/1/users
/locations/1/users/new
/locations/1/users/10/edit
...
Si j'avais un espace de noms dans mes itinéraires que je puisse changer mon users_controller.rb à
class Locations::UsersController < LocationsController
end
mais il ne fonctionne pas avec imbriqué ressources, à la place j'obtiens l'erreur suivante:
Routing Error
uninitialized constant UsersController
Mise à jour
Il fonctionne si j'ajoute:
resources :locations do
resources :users
end
match 'locations/:location_id/users' => "locations/users#index"
mais je dois ajouter une route pour chaque action et imbriqués de la ressource...
Im pas sûr de ce que vous voulez faire. n'est pas ": les ressources :l'emplacement des ressources :les utilisateurs fin" faire fonctionner?
non, il ne trouve pas le users_controller.rb dans le répertoire des...
non, il ne trouve pas le users_controller.rb dans le répertoire des...
OriginalL'auteur fluxsaas | 2011-09-28
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez utiliser une seule route:
Qui doit venir avant les autres ressources/matchs qui pourraient entrer en conflit avec qui correspondre. Par défaut, les Rails, les itinéraires sont de haut en bas.
Alternativement, si vous voulez punt tous vos imbriquée
users
de ressources surlocations/users
vous pouvez assigner un contrôleur de la ressource.est-il un moyen de le faire sans en précisant :controller => "lieux" pour chaque imbriquée de ressources? supposons que j'ai 10 imbriquée ressource, cela devient un peu lourd
avez-vous trouvé une solution?
avez-vous trouvé une solution?
avez-vous trouvé une solution?
OriginalL'auteur nowk
On peut utiliser des modules pour avoir imbriqués les routes avec imbriqués les contrôleurs:
$ de rake routes
OriginalL'auteur Alex
Comme Kwon dit, c'est l'ordre des questions. Mais vous pouvez toujours utiliser un espace de noms.
.../config/routes.rb
.../app/controllers/locations_controller.rb:
.../app/controllers/emplacements/users_controller.rb:
OriginalL'auteur pduey