レポートコントローラーでこのコードを使用して動的に csv ファイルを作成します。
def exportCsv
@report = Report.find(:all)
csv = CSV.generate do |csv|
csv << ["id","cod_user_id","city","address","urgent level","description"]
@report.each do |r|
csv << [r.id,r.cod_user_id,r.city,r.address,r.urgent_level,r.description]
end
end
send_data csv, :type => 'text/csv', :disposition => "attachment; filename=list.csv"
end
show.html.erb ファイルのリンクのコードは次のとおりです。
<a href="<%=url_for :controller=>"reports",:action =>"exportCsv"%>">Clicca qui</a>
リンクをクリックしても、ダウンロードが開始されず、白いページが表示されます。白いページを更新した場合にのみダウンロードが開始されます。ダウンロード リンクをクリックすると、現在開いているページが開いたままになり、ダウンロードが開始されます。
更新 i jquery mobile を使用しない場合は jquery.mobile-1.3.1 を使用します。ダウンロードが開始され、現在のページが開いたままになりますが、jquery-mobile を使用するとリンクが正しいモードで機能しません。