2014-03-29 27 views
0

我是Rails的新手,尝试在我的视图中将给定的XML文件呈现为HTML。我已经搜索了一段时间,但我只能找到关于如何将XML呈现为HTML的主题。我不打算做任何奇特的事情,只需在CSS中调整一下输出。在我缺少的Rails中有没有一些明显的解决方案?Rails 4 XML到HTML

这将是非常有用的输出,我可以用喜欢的工作与DB请求结果,例如:

@titles.each do |title| 
    title.author 
    title.date 
end 

谢谢!

+0

如果您将红宝石标签添加到您的问题中,您会收到关于['Nokogiri'](http://nokogiri.org/)的建议。我没有经验 –

+0

好的,谢谢我加了它。 – user3475542

+0

你想用xml发送响应吗? –

回答

1

您可以使用具有XML解析器的Nokogiri。比方说,你正在使用一些API来获取一个XML响应,那么你可以做这样的事情:

xml = Nokogiri::XML(open(your_api_url)) 
items = Hash.from_xml(xml.to_xml) 

注意:您需要调用.to_xml对XML变种,因为在此之前,它是一个引入nokogiri对象。

items现在是一个Ruby散列。您现在可以创建一个Ruby对象,然后您可以像使用其他ActiveRecord对象一样使用它。如果是多个entry,它可能是有用的,以节省阵列中的所有物品:现在

@all_items = Array.new 

items['item'].map do |item| 
    new = Item.new 
    new.title = item['title‘] 
    # an so on.. 

    @all_items << new 
end 

,在你看来,你可以这样做:

<% @all_items.each do |item| %> 
    <%= item.title %> 
<% end %> 

为了使如上这项工作,你需要这两个宝石:

require 'nokogiri' 
require 'open-uri' 

我希望有帮助!