3

@tracks (列挙可能なオブジェクト) と @artist という 2 つのオブジェクトがあり、すべてのトラックとアーティストを含む列挙可能なオブジェクトを作成したいと考えています。これは、それらを実行するメソッドに渡すことができるようにするためです (各トラックとアーティストには変更イベントがあります)。

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

私の考えは:

objects = @artist.tracks
objects << @artist

しかし、2行目にこのエラーが表示されます(これは理にかなっていますが、修正方法がわかりません):

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

これを行う方法についてのアイデアをいただければ幸いです。

4

1 に答える 1

6

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

objects = @artist.tracks.to_a
objects << @artist

しかし、配列で不均一な値を使用することは、多くの場合、適切ではありません。ただし、必要なメソッドにすべての値が応答する場合は、適切なはずです。

于 2011-01-27T15:22:45.023 に答える