ActiveRecord或查询哈希符号

我知道有3种主要符号为whereActiveRecord方法提供参数:


纯弦

数组

杂凑

指定and的where方法是直截了当:


# 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})

指定or相同的where方法让我很困惑哈希语法。可能吗?


# 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})


慕尼黑的夜晚无繁华
浏览 589回答 2
2回答

FFIVE

正如potashin所说,您可以使用另一个实现此功能的第三方插件。我使用Squeel的时间很长,为此和其他功能(例如复杂的子查询或联接)工作得很好。该查询使用squeel:@people= Person.where{(name == 'Neil') | (age = 27)}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Ruby