我有一个名为Person
的模型,has_one Address
。 Person
有first_name
和last_name
这样的字段; Address
有postal_code
、state
等等。
我知道如何使用查找器找到所有具有特定名称的人; 这Person.find_by_last_name("Smith")
。但是我如何在以下位置找到所有人:
- 他们的first_name是"鲍勃";
- 他们的last_name是"史密斯";
- 在"Foobar"市有地址的人;和
- 地址postal_code为"12345"的用户
查找精确值时,可以将要匹配的值的哈希传递给 where
。每个引用的模型都是其自己的嵌套哈希,如下例所示:
Person.
where(:first_name => 'Bob').
where(:last_name => 'Smith').
where(:address => { :postal_code => '12345' }). # queries associated Address
where(:address => { :city => 'Foobar' }) # queries associated Address