RESTful Routing: Getting names of resources out of paths

Hi Chris,

You can't do it using Rails' map.resources macro. You need to use the router directly, like this:

map.posts '', :controller => 'posts', :action => 'index', :conditions => {:method => :get} map.posts '', :controller => 'posts', :action => 'create', :conditions => {:method => :post} map.new_post 'new', :controller => 'posts', :action => 'new', :conditions => {:method => :get} map.post ':id', :controller => 'posts', :action => 'show', :conditions => {:method => :get} map.post ':id', :controller => 'posts', :action => 'update', :conditions => {:method => :put} map.post ':id', :controller => 'posts', :action => 'destroy', :conditions => {:method => :delete} map.edit_post ':id/edit', :controller => 'posts', :action => 'edit', :conditions => {:method => :get} map.resources :comments, :path_prefix => ':post_id'

it will work, but generally it's not a very good idea to have such URLs, cause it won't work very well if you will have lots of resources at some point. Maybe it will be better to use standard routes + 2 aliases, for index (/ — shows all posts) and for show (/123 - shows a specific post).

Dmitry