Optional route parameters for resource routes?

237 views
Skip to first unread message

Ben Johnson

unread,
Dec 9, 2008, 4:23:45 PM12/9/08
to rubyonra...@googlegroups.com
I have the following URL:

/images/1.jpg?size=500

Where images is a resource setup via map.resources :images. I want to
take advantage of caching, and caching ignores parameters. So I need to
make size optional in the url:

/images/1/500.jpg

Something like that where the size can be built into the URL. I looked
through all of the map.resources documentation and couldn't find
anything to do this. Any ideas how I can accomplish this?

Thanks for your help.
--
Posted via http://www.ruby-forum.com/.

Andrew Bloom

unread,
Dec 9, 2008, 9:42:37 PM12/9/08
to Ruby on Rails: Talk
map.resources :images, :member => [:500, :1000]

will map to 2 methods in your controller, but I think you might have
problems giving ruby method names that start with numbers.

you probably just have to make a specially entry in your routes file,
something like this:

map.cached_image '/images/:id/:size', :controller => "images", :action
=> "show"

in your show method just check for the presence of :show in the params
and respond appropriately.

On Dec 9, 3:23 pm, Ben Johnson <rails-mailing-l...@andreas-s.net>
wrote:
Reply all
Reply to author
Forward
0 new messages