使用Rails保存XML文件

我正在开发一个应该创建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} 

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

也许是这样的:

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

另一种方法:

send_data fixed,:type =>’text / xml; charset = UTF-8;’,:disposition =>“attachment; filename = fixed.xml”