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で両方を行うことは可能ですか?