将aws urls插入数组中

时间:2016-03-09 20:50:08

标签: ruby-on-rails amazon-web-services paperclip

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

//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。我可能错过了一些明显的东西,但我如何得到它以便我可以将我的轨道中的所有网址存储在这样的数组中:

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

我感谢任何帮助

1 个答案:

答案 0 :(得分: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