Rails:发送动态生成的文件作为下载已经可用于视图

时间:2011-11-07 17:06:31

标签: ruby-on-rails download

我在Rails应用程序中有一个控制器,它生成一组CSV文件并将它们提供给视图。我想添加允许用户在同一视图中下载这些文件的链接。我查看了很多下载方法,但似乎都需要额外的控制器操作。是否可以提供链接以在生成它们的同一控制器操作中动态生成文件?

e.g:

#Other view content here, page specific header stuff, formatted csv output, etc
@csv_files.each do |csv_file|
  #spit out a download link to the CSV object in memory
end

1 个答案:

答案 0 :(得分:2)

简答:不。当用户点击链接时,他们会向服务器发出另一个请求。该请求必须作为下载请求处理。

如果您担心这些文件的生成时间,请考虑将它们存储在Memcached或类似文件中,以便您的下载操作可以从那里获取它们,而不必重新生成它们。