gpt4 book ai didi

ruby-on-rails - Rails with JQueryMobile - 使用 send_data 双渲染

转载 作者:太空宇宙 更新时间:2023-11-03 16:04:18 25 4
gpt4 key购买 nike

我在报告 Controller 中使用此代码动态创建 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>

当我点击链接时,下载没有开始,而是出现了一个白页。仅当我刷新白页时下载才会开始。当我单击下载链接时,我希望当前打开的页面保持打开状态并开始下载。

更新我我使用 jquery.mobile-1.3.1 如果我不使用 jquery mobile 它工作,下载开始并且当前页面将保持打开但是如果我使用 jquery-mobile 链接无法在正确的模式下工作。

最佳答案

将 data-ajax="false"添加到链接的属性中。默认情况下,链接在 jQuery Mobile 中使用 Ajax 加载。

<a data-ajax="false" href="<%=url_for :controller=>"reports",:action =>"exportCsv"%>">Clicca qui</a>

根据文档,您还可以使用 rel="external",这也会阻止 Ajax 加载。两者之间的区别在于语义:当链接到域外的 url 时应使用 rel="external",而 data-ajax="false"用于内部链接。

关于ruby-on-rails - Rails with JQueryMobile - 使用 send_data 双渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17569304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com