Routes namespacing for resources vs. namespacing for regular route--inconsistent?

For your consideration, two snippets from a routes.rb file:

map.namespace(:bookshelf, :path_prefix => “/bookshelf/:book_id”) do |bookshelf| bookshelf.resources :sections bookshelf.resources :templates end

map.namespace(:bookshelf) do |bookshelf| bookshelf.publish “:book_id/publish”, :controller => “publish” bookshelf.physical_pages “:book_id/physical_pages”, :controller => “physical_pages”


Both of these “namespace” blocks create routes to paths such as: “/bookshelf/1/sections” “/bookshelf/1/publish”

I was unable to use :path_prefix in the second map.namespace case, as it would then (apparently) try to route the “:controller” segment to “bookshelf/:book_id/publish”. Obviously, no such controller exists.

It seems to me that the “resources” method is smart enough to use the path_prefix for constructing the path only, while the regular named routes try to prepend the path_prefix directly to the name of the controller.

It would be nice to remove the redundancy and combine these two map.namespace blocks in to one. Am I missing something, or can anyone confirm this assessment?

Did anything ever come of this?

Cheers, Obie

Did anything ever come of this?

My svn history implies that nothing did. If someone wants to whip up a test case + patch for it we can consider it for inclusion.