2

假设嵌入式 1-N模型如下:

class Band
  include Mongoid::Document
  field :group_name 

  embeds_many :albums
end

class Album
  include Mongoid::Document
  field :name
  field :sold

  embedded_in :band
end

如何获得每个乐队的专辑名称的完整列表?

我的意思是我必须首先获得所有乐队,然后对于每个乐队我都会得到他的名字,我尝试了以下一些变体:

Band.all.each do |band|
  band.albums.all.each do |album|
    album.name
  end
end

但不起作用,我错过了什么?

更新

abhas 之后,它只适用于添加数组:

album_array = []
Band.all.each do |band|
  band.albums.all.each do |album|
    album_array << album.name
  end
end

然后

album_array.each{|a|a}

取回列表。

4

1 回答 1

2

你给出的循环是正确的,它工作得很好,但你没有保存任何地方的任何价值album.name。只需将其保存在数组或其他东西中并检查数组的内容。我想它会有所有的名字。

于 2012-07-28T11:00:45.733 回答