💻
【Rails】ransackのsort_linkでお手軽に並べ替え
絞り込み機能で有名なransackですが、sort_linkを使うと並べ替えもお手軽に実装できます。
基本
def index
@q = Post.ransack(params[:q])
@posts = @q.result
end
= sort_link(@q, :title, 'タイトル')
応用
複数のカラムで並べ替える
= sort_link(@q, :last_name, %i(last_name first_name), '氏名')
関連付けされたテーブルのカラムで並べ替える
def index
@q = Post.joins(:cateogry).ransack(params[:q])
@posts = @q.result
end
= sort_link(@q, 'category_name', 'カテゴリー')
Discussion