【问题标题】:How to render an RSS feed in a Rails 3.x view?如何在 Rails 3.x 视图中呈现 RSS 提要?
【发布时间】:2012-03-13 01:25:18
【问题描述】:

我有一个来自 Zendesk (http://mysupport.zendesk.com/forums/some-path/posts.rss) 的 RSS 源,我需要在我的 Web 应用程序的页面上呈现为内容。 像这样提取内容的首选方法是什么?

目前我开始倾向于认为我唯一的选择可能是使用 Nokogiri 或 httparty。有没有更好的办法?无论哪种方式,都会感谢一些将我的马指向北方的方向。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 rss nokogiri httparty


    【解决方案1】:

    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

    【讨论】:

    • 谢谢!如何在缓存中添加过期时间;例如,如果我想每 30 分钟重新抓取一次内容?
    • 另外,这个缓存部分确实失败了。即使在开发模式下,当我临时打开缓存进行测试时,我也会遇到错误。
    • 取决于许多因素...也许删除缓存以简化。 Google for Rails.cache 关于如何失效
    • 这篇文章可以帮助您入门:broadcastingadam.com/2011/05/advanced_caching_in_rails
    猜你喜欢
    • 2011-04-26
    • 2011-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 2011-01-06
    • 1970-01-01
    • 2011-07-23
    相关资源
    最近更新 更多