2011-09-01 61 views
2

我的设置:Rails的3.0.9,1.9.2红宝石Rails 3中得到嵌套记录

型号:

class User 
has_many :posts 
has_many :photos 

class Post 
belongs_to :user 
has_many :comments 

class Photo 
belongs_to :user 
has_many :comments 

class Comment 
belongs_to :post 
belongs_to :photo 

User水平,我想抓住连接到user.posts的所有意见和user.photos,这是可能的,如果是这样,语法是什么?

回答

4

user.posts.map(&:comments)user.photos.map(&:comments)

+0

你的岩石,我的男人。在Ruby中,我几乎总是需要找出1行代码。 '&'做什么? – Bob

+0

另外还有一个额外的问题,如果我需要将'where'值传递给像'date'这样的'comments'以仅返回记录>某个日期? – Bob

+2

类似'user.posts.map {| p | p.comments.where(:date <10.days.ago)}'或这些行中的内容 – cpjolicoeur