I am trying to write a nested route ‘new style’
map.resources :franchises, :has_many => :documents
in place of the :
map.resources :franchises do |franchises|
franchises.resources :documents, :name_prefix => “franchise_”
end
but get an error :
no route found to match “/franchises/1/documents” with {:method=>:get}
running rake routes, cannot see it…
what could be the problem with my Rail install ?
thanks
Kad K. wrote:
but get an error :
no route found to match “/franchises/1/documents” with {:method=>:get}
Shouldn’t ‘franchise’ be singular when used with an id?
John M. wrote:
Kad K. wrote:
but get an error :
no route found to match “/franchises/1/documents” with {:method=>:get}
Shouldn’t ‘franchise’ be singular when used with an id?
I tried it too…
no route found to match “/franchise/1/documents” with {:method=>:get}
a rake routes doesn’t show up any nested route for documents, it seems
the :has_many is not seen at all
Hi –
On Sat, 25 Aug 2007, Kad K. wrote:
but get an error :
no route found to match “/franchises/1/documents” with {:method=>:get}
running rake routes, cannot see it…
what could be the problem with my Rail install ?
Are you running edge Rails? If not, :has_many won’t work.
I’ve put your map.resources line in my routes.rb, and I get this in
the console:
r = ActionController::Routing::Routes
=> # lots of output…
r.recognize_path(“/franchises/1/documents”, :method => :get)
=> {:controller=>“documents”, :action=>“index”, :franchise_id=>“1”}
This is on revision 7340 (a fairly recent edge Rails).
David
–
David,
I am trying to figure out if this is the intended behaviour
map.resources :users,
:has_many => [:groups]
map.resources :groups, :collection => {:joined => :get, :created =>
:get}
in console I type
r = ActionController::Routing::Routes
r.recognize_path("/groups/created", :method => :get)
=> {:controller=>“groups”, :action=>“created”}
r.recognize_path("/users/diego/groups/created", :method => :get)
=> {:controller=>“groups”, :user_id=>“diego”, :action=>“show”,
:id=>“created”}
the collections routes for groups are not carried over into the nested
version inside of user.
Furthermore there is no syntax like has_many => [:posts =>
{:collections => {:joined => :get} } ] in place.
I am guessing that my only options is to repeat any :new, :member or
:collections specific routes.
Am I guessing right?
Diego