Ruby on rails 如何使用Rails生成XML?
我需要创建一个XML文件输出,如下所示:Ruby on rails 如何使用Rails生成XML?,ruby-on-rails,ruby,xml,Ruby On Rails,Ruby,Xml,我需要创建一个XML文件输出,如下所示: <data> <hour>0</hour> <count>8</count> </data> . . <data> <hour>23</hour> <count>1</count> </data> 但输出结果如下所示: tweet-densities-controller
<data>
<hour>0</hour>
<count>8</count>
</data>
.
.
<data>
<hour>23</hour>
<count>1</count>
</data>
但输出结果如下所示:
tweet-densities-controller-data type="array">
<tweet-densities-controller-datum type="TweetDensitiesController::Datum">#
TweetDensitiesController::Datum:0xacbddc4></tweet-densities-controller-datum>
tweet控制器数据类型=“数组”>
#
TweetDensitiesController::数据:0xacbddc4>
您可能想看看生成器:这里发生的事情是,当您执行渲染时:xml=>@data
Rails正在尝试将@data
(一个数组)转换为其xml表示形式。在这种情况下,这不是你想要的
在数据类上定义一个#to_xml
方法,然后可以执行以下操作:
@data.map(&:to_xml).join("\n")
它将为每个对象调用#to_xml
方法,然后将它们连接起来,用换行符分隔每个条目
如果您想要结构良好的XML数据(在您的示例中似乎不是这样),那么应该使用jessecurry建议的类似于Builder的东西
@data.map(&:to_xml).join("\n")