Ruby on rails Rails 3.2在提交远程表单时下载文件
我在静态页面上有这个远程表单Ruby on rails Rails 3.2在提交远程表单时下载文件,ruby-on-rails,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3.2,我在静态页面上有这个远程表单 <%= form_tag(reports_products_path, :method => "post", :action => "products", :remote => true) do%> <%= submit_tag "Generate Product Report" %> <% end %> “post”、:action=>“products”、:remote=>true)do%> 这是
<%= form_tag(reports_products_path, :method => "post", :action => "products", :remote => true) do%>
<%= submit_tag "Generate Product Report" %>
<% end %>
“post”、:action=>“products”、:remote=>true)do%>
这是提交表单时触发的控制器操作:
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
def产品
@products=Product.joins(:client).all
回应待办事项|格式|
format.html
格式.pdf
format.js do
pdf=PrintedProductPdf.new(@products)
打开(“public/product|u report/product{Date.today}.pdf”,“wb”){f|f“application/pdf”,
:处置=>“附件”
结束
结束
结束
文件在单击表单链接时写入。但是,我希望能够在单击表单中的“提交”按钮时下载文件。发送数据功能似乎正在将附件发送到lala land为您的方法尝试此代码
def products
@products = Product.joins(:client).all
respond_to do |format|
format.html
format.pdf
format.js do
pdf = PrintedProductPdf.new(@products)
send_data pdf.render,
:disposition => "attachment; filename=product_#{Date.today.to_s}.pdf",
:type => "application/pdf"
end
end
end
PS我放弃了将pdf文件保存到公共目录,因为您创建它似乎只是为了下载链接