作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
在我的 InvoicesController
中我有这个:
def index
@invoices = current_user.invoices
respond_to do |format|
format.html
format.xls
format.csv # not working!
end
end
在我的 index.html.erb
View 中,我有这两个下载链接:
<%= link_to "Download as Excel", invoices_path(:format => "xsl") %>
<%= link_to "Download as CSV", invoices_path(:format => "csv") %>
index.xsl.erb
和 index.csv.erb
模板也确实存在。
第一个链接有效,即 Excel 文件下载到用户的计算机上。但是,CSV 文件在浏览器 中呈现,而不是下载。
我必须怎么做才能让用户也能下载 CSV 文件?
感谢您的帮助。
最佳答案
尝试指定适当的内容 header 并在您的format.csv
处理程序 block 中显式呈现您的index.csv.erb
模板。
# app/controllers/invoices_controller.rb
format.csv do
response.headers['Content-Type'] = 'text/csv'
response.headers['Content-Disposition'] = 'attachment; filename=invoice.csv'
render :template => "path/to/index.csv.erb"
end
关于ruby-on-rails - 如何在 Ruby on Rails 中下载 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17014912/
我是一名优秀的程序员,十分优秀!