我在.find()之前或之后放置.Includes()方法吗?

Tam*_*iev 1 activerecord ruby-on-rails ruby-on-rails-3

在查找之前或之后,我在哪里放置.include()方法用于rails模型?

User.find(1).includes(:books)
Run Code Online (Sandbox Code Playgroud)

要么

User.includes(:books).find(1)
Run Code Online (Sandbox Code Playgroud)

spi*_*ike 11

通常可以在ActiveRecord关联调用上交换订单,但在这种情况下您无法执行此操作.find()返回对象本身,而不是可链接范围.

如果您使用的是where子句,则调用的位置无关紧要.您只需要确保在实际执行sql之前添加了所需的所有连接.