搜索所有记录

Ransack search all record

我在 bundlen 安装后重启服务器

我的环境

ruby 2.1.5,rails 4.0.13,搜查 1.6.3

控制台结果

User.first
=> #<User id: 1, email: "email@mail.com">

User.ransack({"email"=>"email@mail.com"}).result.to_sql
=> "SELECT \"users\".* FROM \"users\""

User.search({"email"=>"email@mail.com"}).result.to_sql
=> "SELECT \"users\".* FROM \"users\""

User.where({"email"=>"email@mail.com"}).to_sql
=> "SELECT \"users\".* FROM \"users\"  WHERE \"users\".\"email\" = 'email@mail.com'"

你做错了。您的 Ransack 查询应该是:

User.ransack(email_eq: "email@mail.com").result

阅读 eq (equals) 文档。