2011-01-27 14 views
3

@tracks(列挙型)と@artistの2つのオブジェクトがあります。すべてのトラックとアーティストを含む列挙型を作成したいと思います。Ruby:配列の末尾にオブジェクトを追加する

change_events = object.map(&:change_events).flatten 

私の考えでした:これは私が行いますメソッドに渡すことができます(各トラックを、そしてアーティストは変更イベントを持っている)ほどである

objects = @artist.tracks 
objects << @artist 

が、それは私にこのエラーが発生します2行目(理にかなっているが、私は修正する方法がわからない):

Track(#17816) expected, got Artist(#17572) 

私はこれを行うことができる方法上の任意のアイデアをいただければ幸いです!

+0

は、アーティストテーブルなどのトラックが多いアーティストや、アーティストテーブルのトラック列にあるトラックのリストなど、従属するテーブルを追跡していますか? –

+0

アーティストには多くの曲があります。しかし、エタリオンのソリューションは素晴らしいです! – tiswas

+0

@tiswas:artist.tracksはRails関連を提供します.Array.tracks.allを使用して配列として取得します –

答えて

5

これは、エラー(戻り値@artist.tracks)は扱っている配列ではなく、レール固有のデータ型です。試してみることができます

しかし、配列内の不均一な値を使うと、多くの場合、それらがすべて適切な方法で応答する必要があります。

関連する問題