-1

列のソートに問題があります。データが取り込まれたテーブルがあり、それは で編成されていDESCます。ASCいずれかの列をクリックすると、 と の間を行き来するようにしたいと思いますDESC

特定の列をクリックしているときに、次のパラメーターが送信されていました。

Parameters: {"search"=>{"meta_sort"=>"date.asc"}}

最初にアクセスしたときと同じクエリを作成するだけでなく、

これが私のコントローラーコードです:

def dashboard
  @search = Quality.search(params[:search])
  @qualities = @search.page params[:page]

  @qualities_failed = Quality.where('last_disposition_state = ?','fail').order("strftime('%Y',date) DESC, julian_date DESC, lot DESC, time DESC").limit(10).search(params[:search])
  @qualities_passed = Quality.where('last_disposition_state = ?','pass').order("strftime('%Y',date) DESC, julian_date DESC, lot DESC, time DESC").limit(10).search(params[:search])

  respond_to do |format|
    format.html
    format.js
    format.xlsx {
      send_data Quality.order("strftime('%Y',date) DESC, julian_date DESC, lot DESC, time DESC").limit(10).to_xlsx.to_stream.read, :filename => 'passed.xlsx', :type => "application/vnd.openxmlformates-officedocument.spreadsheetml.sheet"
    }
  end
end

これらのパラメーターを取得する方法を知りたいのですが、私が知る限りif、パラメーターを評価し、それに基づいてテーブルを並べ替えるステートメントを作成します。

if -> == ASC then (query with ASC instead of DESC)
4

1 に答える 1

1

Railsまたはブラウザーでソートを実行しますか?

ブラウザにはすでにデータが含まれているため、ページ内のJavaScriptでソートを実行する必要があるという議論があります。ユーザーエクスペリエンスはより良く/より速くなり、別のリクエストでRailsとホスティングハードウェアおよびデータベースに負担をかけることはありません。

これを簡単に行うためのjQueryやその他のJavaScriptライブラリ用のJavaScriptプラグインはたくさんあります。

于 2013-01-04T16:29:36.630 に答える