Resource routes: optional path components

I have a model, Image, with paperclip attachments. The necessary routes
are currently simply defined by

resources :images

As each image is available in different sizes (styles, really), paths
effectively look like this

/images/1.png?size=thumb

Which isn’t pretty at all. I’d rather have

/images/1.png (for the default size)
/images/1/thumb.png

To get this, I’ve defined my routes like this

resources :images
get ‘images/:id(/:size)(.:format)’ => ‘images#show’, :as => :image

The second line overwrites the image_path and image_url helpers
generated by the first line. Is there another solution that doesn’t
involve overwriting and makes resources generate the size routes? One
important constraint is that I need the :size option on #image_path; it
would not help to have additional routes with different names.

Michael


Michael S.
mailto:[email protected]
http://www.schuerig.de/michael/

Hey,

have you tried match? I’m using it and still can use _path and _url
without a problem.

On Sunday 12 September 2010, Heinz S. wrote:

Hey,

have you tried match? I’m using it and still can use _path and _url
without a problem.

I’m sorry if I gave the wrong impression, I can still use all the _path
and _url helpers. It’s just that I’m looking for a more elegant
solution.

Michael


Michael S.
mailto:[email protected]
http://www.schuerig.de/michael/

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs