検索で使える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]に、配列で文字列を渡します。
文字列をカンマ区切りで指定しても有効にはなりませんでした。
