我正在使用 ransack 搜索这样的产品:
Product.display_status.order('status asc').ransack(params[:q])
结合谓词 name_or_meta_tag_cont
。
问题是,它选择的比我想要的多。
例如:
我想选择关键字为“foo bar”的产品,但我的查询也选择了元标记为“foo barfoo, foo, bar”的产品。需要明确的是,如果我想选择带有元标记“best product, bla, bla”的产品,我不希望查询选择“best products, bla, bla”。
如果我不使用搜查:
Product.where("meta_tag ~* ? or name ~* ?", ' foo bar\\M', ' foo bar\\M')
有谁知道我怎样才能将它与 ransack 一起使用?
最佳答案
所以您只想要具有“foo bar”作为确切名称或元标记的产品?
name_or_meta_tag_eq
关于ruby-on-rails - 用完全匹配的词搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35619109/