show.html.erb
<%= link_to "Export", {:action => :export}, :method => :post%>
record_controller.rb
def export
csv_file = CSV.generate({}) do |csv|
csv << @data_filtered.first.keys
@data_filtered.each do |hash|
csv << hash.values
end
end
send_data csv_file, :type => 'text/csv; charset=iso-8859-1; header=present', :disposition => "attachment; filename=tester1.csv"
end
我想知道如何执行此操作,因为@data_filtered是发送到show.view的实例变量,但是当我单击导出时它不再存在(这是我想要导出到.csv的数据)。有没有办法通过link_to传递这些数据?我也期待这个问题会改变我不想做的观点。
答案 0 :(得分:0)
以下是两种基本方法:
在“show”方法中,将@data-filtered
中的内容保存到模型中。然后你可以在'export'方法中再次找到它。
或者,您必须将其全部发送到客户端,客户端必须将其全部发回。