このリモートフォームは静的ページにあります。
<%= form_tag(reports_products_path, :method => "post", :action => "products", :remote => true) do%>
<%= submit_tag "Generate Product Report" %>
<% end %>
これは、そのフォームが送信されたときに実行されるコントローラー アクションです。
def products
@products = Product.joins(:client).all
respond_to do |format|
format.html
format.pdf
format.js do
pdf = PrintedProductPdf.new(@products)
File.open("public/product_report/product#{Date.today}.pdf", "wb") { |f| f << pdf.render }
send_data pdf.render,
file_name: "public/product_report/product#{Date.today}.pdf",
:type => "application/pdf",
:disposition => "attachment"
end
end
終わり
フォームのリンクをクリックすると、ファイルが書き込まれます。ただし、フォームの送信ボタンがクリックされたときにファイルをダウンロードする機能が必要です。データ送信機能でララランドに添付ファイルを送信しているようです