2016-03-09 57 views
0

我目前有一个使用回形针附件上传到aws的有效音频播放器。我想访问所有轨道的所有网址,并将它们插入数组或变量中,以便与我的js音频播放器一起使用。下面是我曾尝试下面的代码:将aws网址插入到数组中

//incorrect code 
@tracks.each do |m| 
    @tracks_url_list = m.audio 
end 

我也曾尝试

//incorrect code 
@tracks.each do |m| 
    @tracks_url_list = Array[m.audio] 
end 

当我实现

<% @tracks.each do |m| %> 
    <%= m.audio %> 
<% end %> 

在index.html.erb它显示 http://s3.amazonaws.com/musicstreamdata/tracks/audios/000/000/008/original/11_Acid_Rain_%28Prod._by_Jake_One%29_%28DatPiff_Exclusive%29.mp3?1457290530

和其他轨道链接也显示。但是,当我尝试将其存储在变量或数组中时,它只显示一个轨道的一个URL。我可能失去了一些东西很明显,但我如何得到它,这样我可以从所有曲目我的URL存储在一个这样的数组:

@track_url_lists = [track_one_url, track_two_url, track_three_url, etc. ] 

我感谢所有帮助

回答

1

尝试下列之一:

@tracks_url_list = @tracks.collect(&:audio) 

@tracks_url_list = @tracks.inject([]) each do |url_list, track| 
    url_list << track.audio 
    url_list 
end 

参考Enumerable#inject更多信息