Product.tagged_with(“”)。join(:category).where(category:{name:''})
Product.tagged_with(["<food tag1>", "food tag2"], :match_all => true).joins(:category).where(category:{name: '<category>'})
要控制标签在产品检索中的使用方式,您可以选择以下选项:
Product.tagged_with(["x", "y"], :match_all => true) Product.tagged_with(["x", "y"], :any => true) Product.tagged_with(["x", "y"], :exclude => true)
在你的控制器中:
def index @products = Product.tagged_with(params[:tags], :match_all => true).joins(:category).where(category:{name: params[:category}) end
经过这么长时间摆弄这个,我无法得到上面的代码。我也真的不想在我的控制器中写直接标签。因此,我在类别下面建立了一个名为Sub Categories的脚手架,它属于Category和has_many产品。