我的rails应用程序中有一个链接,该链接应导出CSV。但是,当我单击链接时,它将页面重新加载为html。我尝试将response.headers['Content-Type'] = 'text/csv'
response.headers['Content-Disposition'] = 'attachment; filename=invoice.csv'
添加到控制器,但这无济于事。
def index
respond_to do |format|
format.html
format.csv do
response.headers['Content-Type'] = 'text/csv'
response.headers['Content-Disposition'] = 'attachment; filename=custome_incentives.csv'
send_data @incentives.to_csv
end
end
end
<%= link_to 'Download to CSV', incentives_path(property.slug, format: :csv), class: 'btn csv' %>
我尝试将binding.pry放在format.csv
块中,但不会触发。
答案 0 :(得分:1)
假设路线都井井有条,那么您tried this way是否包括这样的filename
?
def index
respond_to do |format|
format.html
format.csv do
send_data @incentives.to_csv, filename: 'custome_incentives.csv'
end
end
end
如果无法解决,也可以force a download link。