简体   繁体   English

完全匹配单词的Ranack

[英]Ransack with match exact word

I'm using ransack for search product like this : 我正在使用ransack搜索这样的产品:

Product.display_status.order('status asc').ransack(params[:q])

with combine predicates name_or_meta_tag_cont . 与组合谓词name_or_meta_tag_cont

The problem is, that it selects more than i would like. 问题是,它选择了比我想要的更多的东西。

For example : 例如 :

I would like to select product with keyword "foo bar", but my query select product with meta tag "foo barfoo, foo, bar" as well. 我想选择带有关键字“ foo bar”的产品,但我的查询也选择带有元标记“ foo barfoo,foo,bar”的产品。 To be clear, if i wanted to select product with meta tag "best product, bla, bla", I don't want the query to select "best products, bla, bla". 要明确的是,如果我想选择带有元标记“最佳产品,bla,bla”的产品,则我不希望查询选择“最佳产品,bla,bla”。

If I'm not use ransack : 如果我不使用ransack:

Product.where("meta_tag ~* ? or name ~* ?", ' foo bar\\M', ' foo bar\\M')

Does anybody know how can I use that with ransack? 有人知道我怎么可以和ransack一起使用吗?

因此,您只需要具有“ foo bar”作为确切名称或元标记的产品?

name_or_meta_tag_eq

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM