2012-03-13 33 views
0

我有一個來自Zendesk的RSS訂閱源(http://mysupport.zendesk.com/forums/some-path/posts.rss),我需要在我的web應用程序的頁面上呈現內容。 這樣拉內容的首選方法是什麼?如何在Rails 3.x視圖中呈現RSS提要?

目前我開始傾向於這樣的想法,也許我唯一的選擇是使用Nokogiri或者httparty。有沒有更好的辦法?無論哪種方式,將欣賞一些方向指向我的馬北。

回答

3

ruby​​有一個內置的RSS解析器,您可以使用..下面的這段代碼也會爲您緩存結果,並顯示最新的4個項目。

require 'rss' 

Rails.cache.fetch("rss-list") do 
    RSS::Parser.parse(open('http://feeds.feedburner.com/your-stuff-here').read, false).items[0..4] 
end 

所以每個項目可以給你一個#title#link(及以上,很明顯,像#description

+0

謝謝!如何在緩存中添加過期時間;例如,如果我想每隔30分鐘重新搜索一次內容? – ylluminate 2012-03-13 08:23:32

+0

另外,事實證明,這個緩存部分確實失敗了。即使在開發模式下,當我暫時打開緩存進行測試時,我也遇到了錯誤。 – ylluminate 2012-03-13 10:02:10

+0

取決於許多因素......也許刪除緩存以簡化。 Google for Rails.cache關於如何失效 – 2012-03-13 12:30:09