ruby-on-rails-3 - 加载提要/条目获取未定义的方法 'entries' for 0 :fixnum error

标签 ruby-on-rails-3 parsing feed feedzirra

我试图从我的博客加载提要,但这会导致提到的标题出现错误。

错误信息:

NoMethodError (undefined method `entries' for 0:Fixnum):
app/controllers/pages_controller.rb:6:in `home'

我是这样的:

我在 lib 文件夹中创建了一个名为 blog_feeds.rb 的文件,其中仅包含以下内容:

module BlogFeeds
require 'feedzirra'

def load_feeds
  feeds = Feedzirra::Feed.fetch_and_parse('http://blog.shigotodoko.com/feed')
end

end

错误的第 6 行是:

@feeds = load_feeds.entries

请注意,此错误只是有时发生,并非总是发生。

那么,知道这里出了什么问题吗?

谢谢!

最佳答案

在获取提要时,如果 HTTP 获取导致错误(即不是 200 或 3XX),Feedzirra 将返回 HTTP 状态代码而不是包含提要条目的对象。

为了优雅地处理这种情况,请检查从 fetch_and_parse 返回的对象的类型,方法是将其包装在类似以下内容中:

unless feeds.is_a?(Fixnum)
  # work with the feeds object
else
  # handle the error condition, retry, etc.
end

如果足够频繁,您还应该能够通过在浏览器中重复获取提要来看到这些失败。

关于ruby-on-rails-3 - 加载提要/条目获取未定义的方法 'entries' for 0 :fixnum error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8875667/

相关文章:

javascript - 通过从 javascript 文件调用部分更新 html 元素

python - 了解 json.loads() 中的 object_pairs_hook

html - 如何将 Instagram 提要嵌入我的网站

ruby - irbrc 配置文件不适用于 ruby​​ 2 + rails 4

ruby-on-rails - 在Rails ActionMailer中测试默认值

java - 类型为 java.lang.String 的值 <br 无法转换为 JSONObject

c# - 当前 JsonReader 项不是对象

Android - Twitter - 获取接下来的 20 个提要以及接下来的 20 个和接下来的 20 个

rss - 通过 Google 新闻 RSS 选择自定义主题

ruby-on-rails - RubyMine 中的简单控制台