19インチのタッチスクリーン、10インチのiPad、7インチのタブレットで使用されるRails 3社内アプリケーションがあります。
データの一覧表示には will_paginate / kaminari を使用しています。
しかし、画面サイズに応じて、ページごとに表示するアイテムの数をどのように構成できますか?
例: 19 インチ ディスプレイの場合は 20 行、10 インチ ディスプレイの場合は 11 行、7 インチ ディスプレイの場合は 8 行
19インチのタッチスクリーン、10インチのiPad、7インチのタブレットで使用されるRails 3社内アプリケーションがあります。
データの一覧表示には will_paginate / kaminari を使用しています。
しかし、画面サイズに応じて、ページごとに表示するアイテムの数をどのように構成できますか?
例: 19 インチ ディスプレイの場合は 20 行、10 インチ ディスプレイの場合は 11 行、7 インチ ディスプレイの場合は 8 行
アプリケーションへの最初のリクエストで Ajax 経由で関連情報や情報を渡し、その情報を使用して Rails のバックエンドを決定することを検討できnavigator
ますscreen
。
ブラウザ/OS の情報を取得するには、Javascript のnavigator
オブジェクトを参照してください。画面のサイズに関する情報を取得するには、Javascript のscreen
オブジェクトを確認してください。
Ajax コントローラー アクションは、ナビゲーター/画面情報の JSON バージョンを保存しsession
、アプリケーションのページネーター全体で使用するために設定するために使用できbefore_filter
ます。ApplicationController
@per_page
before_filter do
@per_page = 11 if !session[:navigator][:userAgent].match(/iPad/).nil?
@per_page = 8 if !session[:navigator][:userAgent].match(/Android/).nil? && session[:screen][:width] < 1000
# ...
end
次に@per_page
、カミナリのポケットベルに移動します。