こんにちは、Ryan Bates ガイドに従って、クライアントがデータテーブルと対話するときにサーバーからデータをロードしました。
http://railscasts.com/episodes/340-datatables?view=asciicast
彼の ProductsDatatable クラスでは、並べ替え関数を次のように定義しています。
def sort_column
columns = %w[name category released_on price]
columns[params[:iSortCol_0].to_i]
end
基本的に、列名はデータベースのクエリに使用されるため、「名前」、「カテゴリ」などはすべて製品モデルの属性です。そのため、SQL SELECT ステートメントが生成され、名前またはカテゴリが ASC または DESC の並べ替えに使用されます。
product.reviews.count などの属性に明示的にマップされていない列にデータが表示されている場合、その列の並べ替えを許可するにはどうすればよいですか?