Ruby:配列の最後にオブジェクトを追加します
-
26-10-2019 - |
質問
@Tracks(列挙可能)と@artistの2つのオブジェクトがあります。すべてのトラックとアーティストで列挙可能なものを作成したいと思います。これは、それらを実行する方法に渡すことができるようにするためです(各トラックとアーティストにはイベントが変更されます):
change_events = object.map(&:change_events).flatten
私の考えは:
objects = @artist.tracks
objects << @artist
しかし、それは2行目のこのエラーを与えてくれます(これは理にかなっていますが、修正する方法がわかりません):
Track(#17816) expected, got Artist(#17572)
これがどのようにできるかについてのアイデアは感謝されます!
解決
これ(エラー)はそれを示しています(の返品値 @artist.tracks
)あなたが扱っている配列ではなく、いくつかのRails固有のデータ型です。試してみることができます
objects = @artist.tracks.to_a
objects << @artist
しかし、アレイで不均一な値を使用することは、しばしば良くないことがよくあります。すべてが必要な方法に応答する場合は、良いはずです。
所属していません StackOverflow