我正在开发一个应该创建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}
如何访问渲染文件并使用上述方法保存?
答案 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”