Changing routes


Well I am working on an app and wanted to make some changes on the
URL’s. I have the following:

map.resources :groups do |groups|
groups.resources :events, :member => { :invite => :get }

So my events are mapping into:


What I want to do now is take out the ‘group’ from there and only
leave the id. Make it look like this:


I tried something like the following and now I have an events_path
route that works.

#— ‘:group_id/events’, :controller => ‘events’, :action =>

My question is: Should I then repeat this same line 5 times to map all
the other actions? That without counting the member actions?

map.events_new …

It just seems wrong and tedious. It’s there any other way to do this?

Thanks for your attention,



Any ideas, or is this not a very bright idea after all?



Hmmm I am not pretty sure, but try checking the path_prefix and
name_prefix methods.


Well I tried those methods, but that doesn’t solve the problem. It
seems to me that when using map.resources there’s no way of taking the
controller name out of there. I think the only way is mapping each
routes independently, which I don’t and that will get long.



So, path_prefix indeed worked.

You can use:

map.resources :events, :path_prefix => ‘/:group_id’

and it works! Just in case, anyone encounters this in the future.

Hmmm, what I was trying to say in my last sentence is that mapping
every route independently will be a tedious task.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs