joe
May 10, 2010, 7:44pm
1
Hi,
Basically I’m just wondering how I can change my link_to’s location
slightly.
At the moment I have a system with categories and tutorials, and the
categories have_many tutorials.
The link itself is like this:
<%= link_to ‘Next lesson’, @NextLesson , :controller =>
‘categories’, :id => (@category.id ), :action => (@NextLesson ) %>
I’ve set the controller etc because my routes.rb file handles the
routes like this:
map.connect ‘categories/:id/tutorials/:action’, :controller =>
‘categories’
So from this I figures the link would lead to: /categories/ID/
tutorials/ID
however it doesn’t, it just leads to: /tutorials/ID
Does anyone know how I can change it from /tutorials/TUTID to /
categories/CATID/tutorials/TUTID ?
Thanks In Advance,
Joe
joe
May 10, 2010, 8:58pm
2
Assuming you’re using REST (far better, IMO), although your map.connect
would make me think otherwise…
map.resources :tutorials,
:controller => “categories”
:path_prefix => “/category/:category_id”,
:name_prefix => “category_”
should yield /categories/category.id/tutorials/tutorial.id
and category_tutorial as a named route, with a link something like this:
<%= link_to ‘Next lesson’,
category_tutorial_path(:category_id => @category.id ,
:id => @NextLesson ) %>
I think, although your @NextLesson seems bizarre.
If that doesn’t work, have you done a “rake routes >routes.lst”
then looked at your routes.lst to see what routing you actually have?
Rails will match the first route it finds given the inputs in the
specified order.
http://api.rubyonrails.org/classes/ActionController/Resources.html
joe
May 11, 2010, 8:19am
3
Adding your section into routes.rb seems to give me this error on
attempting to run the server:
unexpected tASSOC, expecting kEND
joe
May 11, 2010, 5:54pm
4
map.resources :tutorials,
:controller => “categories”
:path_prefix => “/category/:category_id”,
There should be a comma at the end of the second line after
“categories”, my bad.
joe
May 11, 2010, 8:24am
6
(dont know why the last post posted, I wasn’t done yet)
Please note the last error was for the path:prefix line.
Also on your route list thing it gives me this error (about the colon
next to the path_prefix line):
unexpected ‘,’ expecting kEND
(The server running also mentions then ‘,’ but not in as much details.
This means it wont let me rake the routes or whatever to see the
routes.
Please Help,
Thanks In Advance,
Joe