Ich weiß, dass es drei Hauptnotationen gibt, um der whereActiveRecord-Methode Argumente zu liefern :
- Reine Saite
- Array
- Hash
Die Angabe andfür die whereMethode ist unkompliziert:
# Pure String notation
Person.where("name = 'Neil' AND age = 27")
# Array notation
Person.where(["name = ? AND age = ?", 'Neil', 27])
# Hash notation
Person.where({name: "Neil", age: 27})
Wenn ich orfür dieselbe whereMethode spezifiziere, bin ich für die Hash-Syntax verblüfft . Ist es möglich?
# Pure String notation
Person.where("name = 'Neil' OR age = 27")
# Array notation
Person.where(["name = ? OR age = ?", 'Neil', 27])
# Hash notation DOESN'T WORK
Person.where({name: "Neil" OR age: 27})
arelAntwort ist besonders gut, da dies, wie ich verstehe, zu Rails 5 hinzugefügt wird.