我可以在我的应用中选择呈现发票的XML版本。为此,我使用一个单独的类,因为它有一些复杂的计算。这很好用,它可以很好地在浏览器中呈现XML。
但是,我更喜欢将其作为文件下载。我怎样才能做到这一点? 在控制器中我现在有这个:
def show
@invoice = Invoice.find(params[:id])
respond_to do |format|
format.xml { render xml: @invoice.render_xml }
end
end
我知道您可以添加下载选项:
filename: 'mydoc.xml', type: "application/xml", disposition: 'attachment'
但是如何将它与我的特定代码结合起来?
答案 0 :(得分:2)
将控制器中的render
更改为send_data
,然后添加问题中的选项。 http://api.rubyonrails.org/classes/ActionController/DataStreaming.html#method-i-send_data