Ruby on rails 从rails中的当前\u购物车行\u项目下载所有曲目

Ruby on rails 从rails中的当前\u购物车行\u项目下载所有曲目,ruby-on-rails,ruby,Ruby On Rails,Ruby,我使用的是rails4.0.0和Ruby 2.0.0 我的应用程序用于从s3存储器下载mp3文件。下载一首mp3曲目是可行的,但下载当前_车中的所有选定曲目是无效的 我的控制器是 tracks\u controller.rb def mp3_download_all if !current_cart.line_items.blank? current_cart.line_items.each_with_index do |track,i| puts track.track

我使用的是
rails4.0.0
Ruby 2.0.0

我的应用程序用于从s3存储器下载mp3文件。下载一首mp3曲目是可行的,但下载当前_车中的所有选定曲目是无效的

我的控制器是 tracks\u controller.rb

def mp3_download_all
  if !current_cart.line_items.blank?
    current_cart.line_items.each_with_index do |track,i|
      puts track.track.inspect
      track.track.increment! :download_count
      send_file(Paperclip.io_adapters.for(track.track.mp3_track_file).path, :type => track.track.mp3_track_file_content_type, :disposition => "attachment", :filename => track.track.mp3_track_file_file_name)
    end
  end
end
它只下载了最后一首曲目


谢谢

您不能在服务器端执行此操作-一个http请求会导致一个响应,即一个文件(据我所知,浏览器并不始终支持多部分mime响应)

您最好的选择可能是创建一个包含所有文件的zip并发送它(rubyzip gem使这非常容易)。您可能希望在某种背景工作中(延迟工作、sidekiq等)这样做