1

I have three models

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

I'm trying to get the some Users Messages

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

This returns me true rather than message array which I think it should. Is something I'm doing wrong or I have to break my Query in two parts.

joe nayyar
  • 556
  • 1
  • 10
  • 18

1 Answers1

0

Moving the puts might help:

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

or might I suggest using map/collect.

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

I guess it comes down to what you are trying to do.

JamesMacLeod
  • 76
  • 2
  • 7