在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 ... ]
需要序列化.. 谢谢。
答案 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这样的东西。我已经习惯了它,它真棒。