My friend Ben Willis and I have developed a gem for the versioning of Rails views. https://github.com/bwillis/versioncake
The versioning is done by the naming convention. Image the following series of files : show.v3.json.jbuilder show.v2.json.jbuilder show.v1.json.jbuilder create.v2.json.jbuilder create.v1.json.jbuilder The developer pre-defines all view versions in their config. When a specific view version is specified (via a header or request param) , if the version of that view exists, it is rendered, otherwise, the request _degrades_ to the previous version. This makes it really handy for APIs/Jbuilder views. For example, if you defined a new version for your API, e.g. v3, yet all other actions remain the same, the degradation will automatically select the appropriate backward compatible view (v2 for the create view above). The versioning functionality is passive meaning that if the version file extensions aren't utilized, the end user (especially beginners) will not know that the functionality exists. Our end goal is to merge and submit a pull request for Rails core. Would love to hear everyone's thoughts. Jim Jones http://www.github.com/aantix -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Core" group. To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-core/-/9POep66BvoMJ. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
