2013-03-14 76 views
1

我有三个型号Mongoid嵌套协会不返回对象

class User 
include Mongoid::Document 
include Mongoid::Timestamps 

has_many :conversation 
end 

class Conversation 
    include Mongoid::Document 
    include Mongoid::Timestamps 
    has_many :users 
    embeds_many :messages 
end 

class Messages 
    include Mongoid::Document 
    include Mongoid::Timestamps 

    embedded_in :conversation 
end 

我试图得到一些用户的邮件

users.each do |user| 
puts user.conversations.each {|conv| conv.messages} 
end 

这将返回我真不是消息数组,我认为这应该。是我做错了,或者我必须分两部分来解决我的问题。

回答

0

移动看跌期权可能会帮助:

users.each do |user| 
user.conversations.each {|conv| puts conv.messages} 
end 

或者我可能会建议使用地图/收集。

users.each do |user| 
    puts user.conversations.collect {|conv| conv.messages} 
end 

我想这归结于你想要做的事情。