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 に答える