Named Routes in Rails
From Ronny Haryanto via the Rails Mailing List:
Interested in URLs that look something like this?
http://www.example.com/project/submarine
You can tell Rails to parse that URL in order to call the appropriate method on the controller.
You might be interested in Named Routes.
http://wiki.rubyonrails.com/rails/pages/NamedRoutes
In config/routes.rb:
map.project 'project/:projtitle' :controller => 'project',
:action => 'show'
In app/controllers/project_controller.rb:
def show
@project = Project.find(:first,
:conditions => ['title = ?',params[:projtitle]])
...
end
Or something like that. Assuming your project titles are unique. Then
you can also use project_url (since you have map.project in routes.rb)
for urls in your views, e.g.
<% for project in @projects %>
<%= link_to project.title,
project_url(:projtitle => project.title) %>
...
<% end %>
Named Routes is a really cool feature, and one of the best of Rails,
I'd say.
Thanks Ronny!