pg_search_gem と pg_search_scope を使用して検索に複数のパラメータを渡す方法を見つけようとしています
これは私の簡単な検索です
include PgSearch
pg_search_scope :simple_search, against: [:title, :description], using: { tsearch: { dictionary: "spanish"} }
def self.search(search)
if search.present?
simple_search(search)
else
find(:all)
end
end
しかし今、私はこのようなことをしようとしています
include PgSearch
pg_search_scope :simple_search, against: [:title, :place, :category], using: { tsearch: { dictionary: "spanish"} }
def self.searchadv(title, place, category)
simple_search(:title => title, :place => place, :category => category)
end
私はこれが完全に間違っていることを知っていますが、これは私の質問です.
アップデート
ここに新しいコードがあります
pg_search_scope :advance_search, lambda {|*args, query|
return {:against => args,
:query => query,
using: { tsearch: { dictionary: "spanish"} } }
}
def self.searchadv(query, title, place, category)
advance_search(:all, :title => title, :place => place, :category => category)
end
まだ動作していません。でもほぼ完成!次のエラーが表示されます。
wrong number of arguments (3 for 4)