ruby-on-rails - 用完全匹配的词搜索

标签 ruby-on-rails postgresql ruby-on-rails-4 ransack

我正在使用 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/

相关文章:

mysql - Rails:Heroku CI:Mysql2::错误:无法连接到 '127.0.0.1' (111) 上的 MySQL 服务器进行测试环境

ruby-on-rails - RoR - #<Movie :0x007fa43a0629e0> 的未定义方法 `movie'

ruby-on-rails - 如何将 GET 参数传递给 simpleform 输入

PHP 我应该使用 pg_* 函数还是 PDO?

ruby-on-rails - Rails 4 + 设计使用电子邮件或用户名和强参数登录

sql - 在数据库中设置 bool 值

ruby-on-rails - Rails 4 + Rails-API + RSpec + Devise - 使用自定义设计路由对 Controller 进行故障测试

ruby-on-rails - 以可搜索的方式优化/缓存事件发生

macos - 如何在 mac os x 10.8.2 上重置 postgresql 9.2 默认用户(通常为 'postgres' )密码?

oracle - 从 Oracle 迁移到 PostgreSQL : where are the limits?