4

我正在使用 ROR

例如,从我的“索引”页面用户点击“查看报告”。这通过“ajax”调用方法“run”

<%= form_tag({controller: "xyz", action: "run"}, method: "post", remote: true) do |f| %>

因为它是从“索引”页面调用的。我正在“索引”页面底部填充报告摘要

  • 到目前为止,一切都很好

但问题就在这里。除了填写摘要之外,我还必须发送一份完整的报告,这是一个 excel 文件。

def run
    begin
        # populating summary here
        csv(data["report"], params)
    rescue Exception => e
        puts e.inspect
        flash[:error] = "some error"
        redirect_to action: "help" and return
    end
end

def csv(report, params)
    send_data(report,
    type:         'text/csv',
    filename:      "name.csv",
    disposition:  'attachment')
end

目前我必须评论 csv(data["report"], params) 并使用 ajax (remote: true) 在页面上显示我的摘要。或者取出 ajax 并取消注释 csv 调用以弹出 excel。

是否可以同时使用 ajax?

4

0 回答 0