検索で使えるgemのransackですが、超便利っすね。
最近、自力で実装していたやつをransackで置き換えていってるのですが、随分コードが綺麗になりました。
ただ、情報が微妙に少ないというか、ググればあるんだけれど、本家のサイトには少ない感じがします。
今回はソートを複数の項目でやりたいと思っていたのですが、なかなか見当たらなかったのでメモです。
class ArticlesController < ApplicationController
  def index
    @articles = search
    respond_to do |format|
      format.html
      format.json { render json: @articles}
    end
  end
  private
  def search
    params[:q] ||= {}
    params[:q][:s] = %w(author_id category_name created) # 複数指定は配列を渡す
    @q = Article.search params[:q]
    # もしくはこう。
    # @q.sorts = %w(author_id category_name created)
    @q.result
  end
end
params[:q][:s]に、配列で文字列を渡します。
文字列をカンマ区切りで指定しても有効にはなりませんでした。

