Skip to content
Browse files

Add variants to release notes

  • Loading branch information...
1 parent 2d3a6a0 commit eb0402d512a1fb4e65a4d8d3dab3684e9f136b34 @lukaszx0 lukaszx0 committed Dec 3, 2013
Showing with 33 additions and 0 deletions.
  1. +33 −0 guides/source/4_1_release_notes.md
View
33 guides/source/4_1_release_notes.md
@@ -3,6 +3,7 @@ Ruby on Rails 4.1 Release Notes
Highlights in Rails 4.1:
+* Variants
* Action View extracted from Action Pack
These release notes cover only the major changes. To know about various bug
@@ -27,6 +28,38 @@ guide.
Major Features
--------------
+* Variants
+
+ We often want to render different html/json/xml templates for phones,
+ tablets, and desktop browsers. Variants make it easy.
+
+ The request variant is a specialization of the request format, like :tablet,
+ :phone, or :desktop.
+
+ You can set the variant in a before_action:
+
+ ```ruby
+ request.variant = :tablet if request.user_agent =~ /iPad/
+ ```
+
+ Respond to variants in the action just like you respond to formats:
+
+ ```ruby
+ respond_to do |format|
+ format.html do |html|
+ html.tablet # renders app/views/projects/show.html+tablet.erb
+ html.phone { extra_setup; render ... }
+ end
+ end
+ ```
+
+ Provide separate templates for each format and variant:
+
+ ```
+ app/views/projects/show.html.erb
+ app/views/projects/show.html+tablet.erb
+ app/views/projects/show.html+phone.erb
+ ```
Documentation
-------------

0 comments on commit eb0402d

Please sign in to comment.
Something went wrong with that request. Please try again.