【问题标题】:Why the ransack not searching?为什么洗劫不搜索?
【发布时间】:2016-01-14 09:12:24
【问题描述】:

我在我的 rails 应用程序 (4.1.8) 上安装了 ransack gem。 但是,当我进行搜索时,它只会返回所有对象。 这是在 rails 控制台中发生的事情:

AdminUser.ransack({email: "keyword"}).result.to_sql
=> "SELECT \"admin_users\".* FROM \"admin_users\"" 

sql 子句只会返回数据库中的所有 AdminUser。 谁能帮我洗劫?

【问题讨论】:

  • 尝试阅读他们的wiki
  • 您可能希望在查询中添加 email_eq 或 email_cont。
  • @j-dexx,非常感谢,我错过了哈希中的 谓词
  • @Amit Badheka Pykih 员工是的,谢谢!

标签: ruby-on-rails ransack


【解决方案1】:

要完成@j-dexx 注释,解决方案通过在列名之后包含任何available predicates

例如,如果您想进行完全匹配搜索,您可以使用 eq 谓词:

AdminUser.ransack(email_eq: 'keyword').result.to_sql
=> "SELECT `admin_users`.* FROM `admin_users` 
    WHERE `admin_users`.`email` = 'keyword'" 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 2023-03-15
    相关资源
    最近更新 更多