我需要一个 ActiveRecord 查询来匹配params[]
数组中的所有项目。
我目前的方法是根据找到任何标签而不是“匹配所有”来给出结果
class Product < ActiveRecord::Base
has_many :tags
def self.filter_by_params(params)
scoped = self.scoped
scoped = scoped.includes(:tags).where(:tags => {:id => params[:t]}) if params[:t]
scoped
end
end
我试图写出类似下面的东西,但它没有给我任何结果。有人可以让我朝着正确的方向前进吗?有没有办法" AND "
说
def self.filter_by_params(params)
scoped = self.scoped.includes(:tags)
params[:t].each do |t|
scoped = scoped.where(:tags => {:id => t})
end
scoped
end