variantsによるテンプレートの切り替え

接続してきた端末によってテンプレートを切り替える

  • UserAgentなどを参照してrequest.variantの値を設定する
  • request.variantの値によってテンプレートが選択される
def show
  request.vatiant = :mobile if request.user_agent =~ /iPhone/
  ...
end

このとき、"+"とrequest.variantの値のテンプレートが選択される。
たとえば、showアクションでrequest.variantが:mobileのとき、show.html+mobile.erbが選択される。

<!-- views/xxx/show.html+mobile.erb -->
<h1>For Mobile</h1>