我试图从我的博客加载提要,但这会导致提到的标题出现错误。
错误信息:
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/