使用Rails保存XML文件

时间:2010-11-12 09:51:28

标签: ruby-on-rails ruby

我正在开发一个应该创建XMl文件的Rails项目,或者更具体 使用现有的XMl模板并将数据库中的内容放入其中。

所以我不需要创建xml结构,基本上只是渲染带有内容的模板。 最聪明的方法是什么?

到目前为止,我的布局文件夹中有一个file.xml.erb 我有一个自定义路线“/ renderXML”

def renderXML 
  @reading_question = ReadingQuestion.find(params[:id])
  render :file => 'layouts/question.xml'
end

这有效,但我也想保存文件,不仅要显示它(实际上并不是真正需要它)。 为了保存我发现了这个

File.open('fixed.xml','w'){|f| f.write builder.to_xml}

如何访问渲染文件并使用上述方法保存?

2 个答案:

答案 0 :(得分:2)

也许是这样的:

s = render_to_string :file => 'layouts/question.xml'
File.open('fixed.xml','w'){|f| f.write s}
render :text => s

答案 1 :(得分:1)

另一种方法:

  

send_data fixed,:type => “文本/ XML; charset = UTF-8;',:disposition =>   “attachment; filename = fixed.xml”