leo72
July 10, 2010, 7:40pm
1
Hi guys,
I’m having a problem with nested routes and I don’t know what I’m
missing.
I have a “products” resource, which has a “available” collection
action.
map.resources :courses, :member => { :confirm => :get}, :collection
=> { :available => :get }
Then I have the “users” resource, which has many “products”
map.resources :users, :has_many => [:subscriptions, :courses]
The problem is that if I try to access “available” products through a
user (/users/3/courses/available) I get redirected to the “show”
action with parameters:
Parameters: {“action”=>“show”, “id”=>“available”, “user_id”=>“3”,
“controller”=>“products”}
I can’t find the relevant section in the routing guide and I can’t
figure it out.
Does anyone know what I am doing wrong?
Thanx a lot in advance.
Leonardo M…
There’s no place like ~
leo72
July 10, 2010, 8:26pm
2
Hi Leonardo
map.resources :courses, :member => { :confirm => :get}, :collection
=> { :available => :get }
Then I have the “users” resource, which has many “products”
map.resources :users, :has_many => [:subscriptions, :courses]
Assuming what you specified "products" is "courses". Change your
routes as below
map.resources :users do |user|
user.resources :courses, :member => { :confirm => :get}, :collection
=> {available => :get }
user.resources :subscriptions
end
Sijo
leo72
July 10, 2010, 10:42pm
3
On Sat, Jul 10, 2010 at 3:26 PM, Sijo k g [email protected] wrote:
Hi Leonardo
Hi Sijo
map.resources :courses, :member => { :confirm => :get}, :collection
=> { :available => :get }
Then I have the “users” resource, which has many “products”
map.resources :users, :has_many => [:subscriptions, :courses]
Assuming what you specified “products” is “courses”. Change your
routes as below
Yes, sorry, I mixed two applications with the same problem here.
map.resources :users do |user|
user.resources :courses, :member => { :confirm => :get}, :collection
=> {available => :get }
user.resources :subscriptions
end
This worked like a charm.
Thanx a lot!
–
Leonardo M…
There’s no place like ~