J'ai une application Rails qui a un contrôleur appelé domain
qui a un contrôleur imbriqué appelé subdomain
et stats
. Je les ai définis dans routes.rb
:Ruby on Rails 3: Modifier le contrôleur par défaut et l'ordre des paramètres dans le routage
resources :domains do
resources :subdomains, :stats
end
J'ai changé le to_param des modèles de domaine et sous-domaine d'utiliser le nom du domaine, par exemple .: le routage que je reçois est http://site/domains/foo/subdomains/bar
.
Je voudrais le ranger jusqu'à ce qu'au lieu d'utiliser http://site/domains/foo/subdomains/bar
je pourrais y accéder avec seulement http://site/foo/subdomains/bar
. Je l'ai essayé ce qui suit dans routes.rb
:
match "/:id/" => "domains#show", :as => :domain
Ce qui fonctionne très bien, mais il me donne seulement la possibilité d'utiliser le chemin http://site/foo
mais par exemple http://site/foo/subdomains/bar
ne fonctionne pas. Je pourrais créer des lignes de correspondance pour chaque modèle et modèle imbriqué, mais cela ne fait rien pour les autres aides, à part domain_url
- c'est-à-dire que edit_domain_url pointe vers /domains/foo/edit/
au lieu de /foo/edit
.
Existe-t-il un moyen de modifier le routage afin que le resources
génère des helpers pointant vers l'URL racine sans la partie 'domaines'?