1

19インチのタッチスクリーン、10インチのiPad、7インチのタブレットで使用されるRails 3社内アプリケーションがあります。

データの一覧表示には will_paginate / kaminari を使用しています。

しかし、画面サイズに応じて、ページごとに表示するアイテムの数をどのように構成できますか?

例: 19 インチ ディスプレイの場合は 20 行、10 インチ ディスプレイの場合は 11 行、7 インチ ディスプレイの場合は 8 行

4

1 に答える 1

2

アプリケーションへの最初のリクエストで 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、カミナリのポケットベルに移動します。

于 2012-09-11T13:02:52.353 に答える