2011-09-02 33 views
1

我有一个AR查询,看起来像这样ActiveRecord的新1.9哈希语法

user.books.joins(:authors).where(:authors => {:id => [1,2,3]}, :title => 'blah') 

此连接就在我指定的我使用的是前1.9哈希联接表条件的一个例子,但是公告句法。即。 :authors => {:id => [1,2,3]}

有没有办法用1.9散列语法来做同样的查询?

它的可读性很好,使用1.9语法可能会让它变得不那么重要。但我仍然很好奇,如果这是可能的,它会是什么样子。

回答

1

这应该完全用新的语法:

user.books.joins(:authors).where(authors: {id: [1,2,3]}, title: 'blah') 
+0

我认为这是值得大家注意的是,第一个'authors'是** **协会名称,第二个是** **表名称。因此,如果这是一对一的关联,那么第一个将是单数,第二个将是复数。 – scaryguy