Sam*_*Sam 4 ruby xml apache-flex ruby-on-rails
我有一个输出XML字符串的函数:
<expensesAC>
<cashflow>
<month>6</month>
<cash>300</cash>
<projected>null</projected>
</cashflow>
<cashflow>
<month>6</month>
<cash>300</cash>
<projected>null</projected>
</cashflow>
<cashflow>
<month>6</month>
<cash>300</cash>
<projected>null</projected>
</cashflow>
</expensesAC>
Run Code Online (Sandbox Code Playgroud)
我有一个调用的视图genxml.xml.erb,并重定向到mysite.com:3000/genxml.xml.
我需要这个,因为flex需要传递XML文件.但是,我得到的是:
<body>
<expensesAC>
<cashflow>
<month>6</month>
<cash>300</cash>
<projected>null</projected>
</cashflow>
</expensesAC>
<cashflow>
<month>6</month>
<cash>300</cash>
<projected>null</projected>
</cashflow>
<cashflow>
<month>6</month>
<cash>300</cash>
<projected>null</projected>
</cashflow>
</body>
Run Code Online (Sandbox Code Playgroud)
所以,基本上,Rails强制我的XML字符串是HTML.
如何使用我的字符串生成动态XML页面?或者,如何将XML字符串转换为动态生成的XML页面?我不想创建静态文件,这些文件需要动态生成,因为XML集中的数据将是每个用户的私有信息.
如果要使用Rails编写XML文件,可能需要从ERB切换到Builder模板处理程序.
如果使用ActiveRecord对象,则还:xml可以在指定渲染选项时使用方便的选项.
def index
@records = Model.all
respond_to do |format|
format.html
format.xml { render :xml => @records }
end
end
Run Code Online (Sandbox Code Playgroud)