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