我在product
和variation
模型之间有很多关系。我还使用pg_search来帮助过滤搜索结果。
我需要显示已过滤搜索结果中的产品总数以及这些过滤产品的变体总数。
product.rb
class Product < ApplicationRecord
...
include PgSearch
pg_search_scope :search_for,
against: %i(name body),
associated_against: { variations: :name, categories: :name, tags: :name },
using: {
tsearch: {
any_word: true
}
}
has_many :variations, -> { order(:order) }, dependent: :destroy
...
end
variation.rb
class Variation < ApplicationRecord
...
has_many :products
...
end
products_controller.rb 下面的@total_items我无法弄清楚如何参与(参数[:查询])
...
def index
if params[:query]
@products = Product.search_for(params[:query])
@total_collections = Product.search_for(params[:query]).count
@total_items = Variation.joins(:product).count
else
...
end
end
...