我有两个对象@tracks(一个可枚举的)和@artist,我想创建一个包含所有轨道和艺术家的枚举。这样我就可以将它们传递给一个方法(每个轨道,艺术家都有变化事件):
change_events = object.map(&:change_events).flatten
我的想法是:
objects = @artist.tracks
objects << @artist
但是这给了我第二行的错误(这是有道理的,但我不知道如何解决):
Track(#17816) expected, got Artist(#17572)
任何关于如何做到这一点的想法都将不胜感激!
答案 0 :(得分:6)
这个(错误)表示它(@artist.tracks
的返回值)不是您正在处理的数组,而是某些特定于轨道的数据类型。你可以试试
objects = @artist.tracks.to_a
objects << @artist
但是在数组中使用不同的值通常不好,如果它们都响应你需要的方法,那么你应该很好。