Rails与“root”params相关联

时间:2013-04-18 16:39:30

标签: ruby-on-rails ruby database ruby-on-rails-3

在rails中找到被调用方法的“root”参数的最佳方法是什么?

User.first.comments # => [#<Comment id: "1", name: "First comment" ...

我需要这样的东西:

User.first.comments #<User id:1, name:"First User", comments: [
  #<Comment id: "1", name: "First comment" ..., #<Comment ... ]

需要序列化.. 谢谢。

3 个答案:

答案 0 :(得分:2)

User.first.includes(:comments)

答案 1 :(得分:2)

反过来说:

user = User.includes(:comments).first
# SQL queries
# => #<User ...>

现在,您无需其他数据库访问即可访问注释:

user.comments
# => [#<Comment ...>, #<Comment ...>]

答案 2 :(得分:2)

你知道,这个问题实际上可能与includes无关。是否使用N + 1查询检索用户的评论是无关紧要的。

我认为您可能需要的是像RABL这样的东西。我已经习惯了它,它真棒。