多个Rails中的条件

Xåp*_* - 20 ruby activerecord ruby-on-rails rails-activerecord

我正在我的Rails应用程序中实现用户搜索功能.但是,我不希望管理员出现在搜索结果中.

我正在尝试这个:

User.where(:admin => [nil, false], ["name LIKE ?", "%#{params[:query]}%"])
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

syntax error, unexpected ')', expecting tASSOC
Run Code Online (Sandbox Code Playgroud)

那么如何正确列出where括号内的子句呢?

Ism*_*reu 44

试试这个

User.where(["name LIKE ?", "%#{params[:query]}%"]).where(:admin => [nil, false])
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.我在Rails控制台中检查了它,它似乎只是在SQL中将它转换为`WHERE a AND b`.正是我想要的. (3认同)