【发布时间】:2013-10-14 08:34:22
【问题描述】:
我对acts_as_api 有疑问。 我想像这样格式化一个 xml 字符串:
<root>
<child property="property_value">Some Text</child>
etc
</root>
这可能吗?
先谢谢了
【问题讨论】:
标签: ruby-on-rails rest activemodel
我对acts_as_api 有疑问。 我想像这样格式化一个 xml 字符串:
<root>
<child property="property_value">Some Text</child>
etc
</root>
这可能吗?
先谢谢了
【问题讨论】:
标签: ruby-on-rails rest activemodel
我认为这不会自动工作,因为您想将数据放在 XML 结构中的两个不同位置:
但是您的模型的属性包含一个哈希。
acts_as_api(或其他序列化程序)无法确定哪些属性应该在属性中,哪些应该作为内部文本。
对于这种情况,您必须提供自己的序列化程序(您可以查看http://api.rubyonrails.org/classes/ActiveRecord/Serialization.html#method-i-to_xml,了解如何在 Rails 中执行此操作。
【讨论】:
acts_as_api 的预期用途是与键值对一起使用。
如果您想通过混合内容和结构来打破这种约定,您可能最好在不使用库支持的情况下创建自己的 xml。
您可以做的,我认为这不是一个好主意,就是将对acts_as_api 的一次调用的结果放入您的root 标记的值中。
您也许可以重用子模型的acts_as_api 行为。
【讨论】: