2013-02-25 15 views
15

Ich implementiere eine Benutzersuchfunktion in meiner Rails App. Ich möchte jedoch nicht, dass Administratoren in den Suchergebnissen angezeigt werden.Mehrere Bedingungen in Rails

Ich versuche dies:

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

Aber ich bekomme diese Fehlermeldung:

syntax error, unexpected ')', expecting tASSOC 

So wie ich where Klauseln in den Klammern richtig Liste?

Antwort

35

Versuchen Sie, diese

User.where(["name LIKE ?", "%#{params[:query]}%"]).where(:admin => [nil, false]) 
+3

Dank. Ich überprüfte dies in der Rails-Konsole, und es scheint, es in 'WHERE a AND b' nur in SQL zu konvertieren. Genau das, was ich wollte. –