为什么搜身没有搜索?

时间:2016-01-14 09:12:25

标签: ruby-on-rails ransack

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

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

sql子句只返回数据库中的所有AdminUser。 任何人都可以帮我解决问题吗?

1 个答案:

答案 0 :(得分:0)

要完成@ j-dexx评论,解决方案将传递给列名后面的任何available predicates

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

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