Webアプリを作っていてPCとモバイル系(iPhone/iPad/Android/iOS)を判定してViewや処理を切り分けたい場面はあると思います。mobyletteはそういった場面で役立つシンプルなGemです。
Gemのインストール
いつもどおりGemfileに以下を追加して、bundle installを実行してください。
1
| |
コントローラへの設定
Gemのインストール以外にApplicationController.rbか個別のインストーラに以下の設定を追加します。
1
| |
モバイルとPCでViewを切り替える。
モバイル(iPhone/Android/iPad)とそれ以外(PC)を判定してViewを切り替える場合は、Controllerのメソッドで以下のように記述します。 (respond_to(with)を使わない場合は、自動で振り分けてくれます)
1 2 3 4 5 6 7 8 | |
すると、以下のように表示が切り分けられます。
PCなど: index.html.erb モバイル: index.mobile.erb
ちなみにデフォルトではモバイルにはiPhone/Android/iPadが設定されていますが、変更は簡単です。例えば、iPadはPCと同じ画面を表示したい場合は、Controllerに次のように書きます。
1 2 3 | |
すると、以下のように表示が切り分けられます。
PC/iPadなど: index.html.erb モバイル(iPhone/Android): index.mobile.erb
更に細かくViewを振り返ることも設定を変更すれば可能なようです。 詳しくは以下の公式ページを御覧ください。
処理を振り分けるメソッド
モバイルか、それ以外かで処理を切り替えるのに便利なメソッドを紹介します。
1 2 3 4 5 6 7 8 9 10 11 | |
その他テストのやり方なども書かれています。良かったら試してみて下さい!