我已经用googling搜索了一段时间,试图将传入的XML请求转换为活动记录对象。我尝试过使用ActiveRecordObject.new.from_xml方法,但它似乎不能处理关系。
例如,假设我有以下xml:
<blog>
<title></title>
<blog-pages>
<blog-page>
<page-number></page-number>
<content></content>
</blog-page>
</blog-pages>
</blog>我有以下模型对象:
class Blog < ActiveRecord::Base
has_many :blog_pages
end
class BlogPage < ActiveRecord::Base
belongs_to :blog
end有没有一种方法可以将xml转换为具有关系的博客对象?或者我需要手动解析XML吗?
提前谢谢。
发布于 2011-09-29 19:56:54
我用头撞了它好一阵子。如果不手动将XML映射到ActiveRecord对象,似乎没有太多东西可用。虽然我的需求与您的相似,但我需要做的不仅仅是一个具有关系的对象,我还需要做很多事情。我找了很多地方,但什么也没找到。我决定自己解决它,但意识到它不会是一个一行程序,所以我写了一个扩展ActiveRecord的gem。我基于韦恩·罗宾逊的工作:
http://www.wayne-robinson.com/journal/2006/5/1/ruby-on-rails-activerecordbuild_from_xml-function.html
在我不存在的空闲时间里度过了几个月后,我完成了我的宝石,你可以在RubyGems:https://rubygems.org/gems/xml_active上查看
希望这能有所帮助:)干杯,
迈克尔
更新
xml_active现在已经正式停用,开发现在专注于data_active (请参阅https://github.com/michael-harrison/data_active),它具有xml_active的功能,但在未来的版本中,我将努力支持其他格式
发布于 2010-05-11 06:30:58
看这里:http://www.wayne-robinson.com/journal/2006/5/1/ruby-on-rails-activerecordbuild_from_xml-function.html
https://stackoverflow.com/questions/2806410
复制相似问题