问题模型 has_many Answers。下面的行计算问题有多少答案,并根据 DESC 顺序中的答案数量对它们进行排序。所以,首先回答的问题最多。
@search = Question.find(:all,
joins: :answers,
select: ' "questions".*, count("answers".id) as answers_count',
group: '"questions".id',
order: "answers_count DESC").ransack(params[:q])
@questions = @search.result
我也使用洗劫宝石。为了使 ransack 进行搜索,我需要将 .ransack(params[:q]) 添加到 @search 数组并在该数组上调用 result 方法。我虽然这可以工作,但它没有。
我可以用什么来洗劫开始搜索?