我知道为where
ActiveRecord方法提供参数有三种主要符号:
- 纯弦
- 大堆
- 搞砸
为where
方法指定and
是直截了当的:
# 纯弦 notation
Person.where("name = 'Neil' AND age = 27")
# 大堆 notation
Person.where(["name = ? AND age = ?", 'Neil', 27])
# 搞砸 notation
Person.where({name: "Neil", age: 27})
为这个where
方法指定or
让我很难理解散列语法.可能吗?
# 纯弦 notation
Person.where("name = 'Neil' OR age = 27")
# 大堆 notation
Person.where(["name = ? OR age = ?", 'Neil', 27])
# 搞砸 notation DOESN'T WORK
Person.where({name: "Neil" OR age: 27})