This is probably best done with CSS... ie max device width. However, you could leverage the format option in rails. Normally you get things like .html, .js, .xml as pretty standard. In your case, the "variant" could just be a format (iPhone is a pretty typical one). Basically add another view file, like display.js.erb or display.iphone.erb or display.tall.erb. You may need to define the mime-types for the non-standard ones.
On Mar 29, 2010, at 11:21 AM, Christophe Decaux wrote:
> I'm kind of a newbie, so I don't understand all the power of routes and implicit render that can be found in scaffolding
>
> I have an application that have several views which are quite different but based on the controller action.
>
> What I would like is to be able to define routes that would go through the same controller action but would diverge on various views
>
> Something like
>
> /display/:id/:variant
>
> would go to :action=> display and then
> the render would go to display_variant
> Right now, all I can do is to render the display.html.erb
>
> Or maybe
> /display_variant/:id
>
> would do the same
>
> I would be able to have then urls such as
> /display/25/tall
> /display/25/wide
> display/25/mix
>
> and I would only design
> display_tall.html.erb
> display_wide.html.erb
> ...
>
> Any thoughts ?
>
> Thanks in advance
>
> Christophe
>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
>
No comments:
Post a Comment