I have a Rails app that has a controller called domain
which has a nested controller called subdomain
and stats
. I have defined them in routes.rb
:
resources :domains do
resources :subdomains, :stats
end
I have changed the to_param of the domain and subdomain models to use the name of the domain, e.g.: the routing I get is http://site/domains/foo/subdomains/bar
.
I would like to tidy it up to so that instead of using http://site/domains/foo/subdomains/bar
I could access it with just http://site/foo/subdomains/bar
. I have tried the following in routes.rb
:
match "/:id/" => "domains#show", :as => :domain
Which works fine, but it only gives me the ability to use the path http://site/foo
but for example http://site/foo/subdomains/bar
doesn't. I could create match lines for every respective model and nested model but that does nothing to other helpers besides domain_url
- i.e. edit_domain_url points to /domains/foo/edit/
instead of /foo/edit
.
Is there a way to change the routing so that the resources
generates helpers that point to the root url without the 'domains' part?