所以我在一个模型上使用acts_as_taggable。我希望能够找到带有某种%LIKE%匹配的标记,但我不确定如何找到标记。
我现在的代码是:
@companies = Company.tagged_with(@query, :any => true)这样做是行不通的:
tagged_with("%#{@query}%", :any => true)有什么想法吗?
发布于 2013-07-06 14:19:18
首先通过手动获取标记来解决
tags = Tag.where("name LIKE ?", "%#{@query}%").pluck(:name)
@companies = Company.tagged_with(tags, :any => true)但是,这需要我创建一个空的Tag模型,这个模型不是由acts_as_taggable创建的。
也许不是最好的解决方案,但它有效:)
我宁愿做这个“黑客”,然后写我自己的标签模型。
发布于 2021-04-29 09:34:06
@companies = Company.tagged_with('query', wild: true)你应该试试。
您还可以使用:野生=>真选项和:any或:exclude选项。它将在SQL中寻找%酷%和%酷%。
https://stackoverflow.com/questions/17496629
复制相似问题