2013-03-31 48 views
0

當鐵軌我通常會記錄保存到一個模型,然後,如果我想展示個人的紀錄我會發現,記錄其ID如下顯示操作軌

def show 
@post = Post.find(params[:id]) 
end 

然後在我的觀點我可以顯示從該記錄,像這樣

<%= @post.title %> 

屬性我想要實現的是顯示從XML文檔返回的數據的單個實例,因此,如果XML文檔是像這樣

<entry> 
<id>xxx</id> 
<updated>xxx</updated> 
<category scheme="xxx" term="xxx"/> 
<title type="text">xxx</title> 
<link rel="xxx" type="xxx" href="xxx"/> 
<link rel="xxx0gmail.com/b6ea0e8ddbc4e5"/>  
<link rel="xx" type="xxx" href="xxx"/> <link rel="xx" type="axx" href="xxx"/> 
<gd:email rel="xxx" address="xxx" primary="xx"/> 
</entry> 

我該怎麼做才能說如果我點擊一個鏈接說「查看聯繫人」我怎麼能顯示特定的記錄?

目前我認爲像這樣

<% @mycontacts.each do |c| %> 
<p> Name: <%= c.xpath('xmlns:title').text %> Email: <%= c.xpath('gd:email/@address').text %> <%= link_to "Update Contact" %></p> 
<% end %> 

這是由引入nokogiri

doc = Nokogiri::XML.parse(open(url)) 
doc.xpath('//xmlns:feed/xmlns:entry[xmlns:title[node()]]') 

回答

1

你可以這樣做解析通過使用一些更XPath的所有返回的記錄。

doc.xpath("//entry[id='xxx']") 

這將通過它傳遞到的link_to方法

<%= link_to "show entry", :id => "xxx" %> 
返回所有具有特定ID(在這種情況下XXX)

可以「IMBED」的URL信息的條目

它只是在參數哈希

params[:id] 
=> 'xxx' 
+0

你可以閱讀這個:http://www.tizag.com/xmlTutorial/xpathpredicate.php作爲一個很好的xpath的教程 –

+0

謝謝,只是想着如何抓住返回屬性的當前id這樣說,所以每個返回的記錄都有一個鏈接,例如說查看聯繫人,我不想強​​制id,所以通過點擊在鏈接上它會帶我到那個特定的記錄。希望有道理 – Richlewis

+0

你的意思是,如何將id從XML中取出,或者如果你有這個id,如何創建一個包含「id」的鏈接? –