2012-03-13 3 views
0

У меня есть RSS-канал от Zendesk (http://mysupport.zendesk.com/forums/some-path/posts.rss), который мне нужно отображать как содержимое на странице моего веб-приложения. Каков предпочтительный способ вытащить контент таким образом?Как отобразить RSS-канал в представлении Rails 3.x?

В данный момент я начинаю опереться на мысль, что, возможно, мой единственный вариант - использовать 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

+0

Кроме того, оказывается, что эта часть кэширования не работает. Даже в режиме dev, когда я временно включаю кеш для тестирования, я получаю ошибки. – ylluminate

+0

Зависит от ряда факторов ... Возможно, удалите кеш для упрощения. Google для Rails.cache о том, как сделать недействительным –