下载XML文件而不是使用Builder进行渲染

时间:2013-09-06 08:33:00

标签: ruby-on-rails ruby xml builder

我目前正在使用Builder来进行自定义XML导出。但是,当用户单击该按钮时,我希望下载.xml而不是渲染。

我尝试使用send_data代替render,但这似乎被构建器覆盖了。

还使用ActiveAdmin(因此member_action

在我的控制器中:

  member_action :show do
    @listing = Listing.find(params[:id])
    respond_to do |format|
      format.html
      format.xml 
    end
  end

指向show.xml.builder的链接

xml.instruct!
xml.XMLopener { |b|
  b.....
  ......
  ....
  }

我已经看过下面的几个链接,但我似乎无法让它工作。有任何想法吗? 显然,使用当前代码,它只是渲染,完美运行。

https://www6.software.ibm.com/developerworks/education/x-rubyonrailsxml/x-rubyonrailsxml-a4.pdf http://danengle.us/2009/05/generating-custom-xml-for-your-rails-app/

1 个答案:

答案 0 :(得分:1)

你有没有试过这样的东西

respond_to do |format|
  format.html
  format.xml { send_file :filename => 'mydoc.xml', :type=>"application/xml", :disposition => 'attachment' }
end