Rails4.1の新機能を使って端末毎のviewの切り替えをする

Rails4.1からviewの切り替えをする仕組みが組み込まれました。
今まではJpmobileなど使ってやったと思います。

ですが、今後は今回追加されたこの機能を使うことになると思います。

1.before_actionに読み込ませるメソッドにuser agentをチェックするロジックを追加.

   def iPhone?
      request.variant = :tablet if request.user_agent =~ /iPhone/
   end

  def iPad?
     request.variant = :tablet if request.user_agent =~ /iPad/
  end


2.次にテンプレートを作成。ここではルールがあって、tableだったら「show.html+tablet.erb」のように書きます。+という文字をファイル名に入れるというのに若干違和感を感じますが。。

3.controllerに追加します。

    respond_to do |format|
       format.html  do |html|
          html.tablet
       end
    end

これでシュミレーターを使って該当するページ見るとUser agentが切り替わっているのが分かります。

4.1の機能は随時試してみよっと