Je crée dynamiquement un fichier csv avec ce code dans le contrôleur de rapports :
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
Le code du lien dans le fichier show.html.erb est le suivant :
<a href="<%=url_for :controller=>"reports",:action =>"exportCsv"%>">Clicca qui</a>
Lorsque je clique sur le lien, le téléchargement ne démarre pas et une page blanche apparaît. Le téléchargement ne démarre que si je rafraîchis la page blanche. Lorsque je clique sur le lien de téléchargement, je veux que la page ouverte reste ouverte et que le téléchargement démarre.
MISE À JOUR I J'utilise jquery.mobile-1.3.1 si je n'utilise pas jquery mobile cela fonctionne, le téléchargement démarre et la page actuelle reste ouverte mais si j'utilise jquery-mobile le lien ne fonctionne pas dans le bon mode.