首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个提要的Feedzirra

具有多个提要的Feedzirra
EN

Stack Overflow用户
提问于 2010-11-04 07:49:43
回答 1查看 985关注 0票数 1

我使用Feedzirra抓取单个提要并对其进行解析已经有一段时间了,但我正在尝试通过它运行两个单独的feedburner提要,我知道它们可以自己工作,但同时运行这两个提要会产生错误。

代码语言:javascript
复制
NoMethodError in Feed entryController#index
undefined method `title' for #<Array:0x1042f9590>

我的模型是这样的:

代码语言:javascript
复制
def self.get_feeds
    feed_urls = ["feed_1", "feed_2"]
    update_from_feeds(feed_urls)
  end

  def self.update_from_feeds(feed_urls)
    feeds = Feedzirra::Feed.fetch_and_parse(feed_urls)
    add_entries(feeds.entries)
  end

  def self.update_from_feeds_continuously(feed_urls, delay_interval = 30.seconds)
    feeds = Feedzirra::Feed.fetch_and_parse(feed_urls)
    add_entries(feed.entries)
    loop do
      sleep delay_interval
      feeds = Feedzirra::Feed.update(feeds.entries)
      add_entries(feeds.new_entries) if feeds.updated?
    end
  end

  private

  def self.add_entries(entries)
    entries.each do |entry|
      unless exists? :guid => entry.id
        create!(
          :title        => entry.title
        )
      end
    end
  end

这可能是我做错了什么,但我找不到任何完整的代码示例或教程来解析多个提要,只有github页面上的两行代码。

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-04 10:34:34

当从fetch_and_parseupdate_from_feeds中返回feeds时,当传入多个提要时,它是一个数组。因此,add_entries方法中的each拆分成单独的提要,而不是提要条目。要解决此问题,您可以按如下方式重新定义update_from_feeds

代码语言:javascript
复制
def self.update_from_feeds(feed_urls)
  feeds = Feedzirra::Feed.fetch_and_parse(feed_urls)
  feeds.each do |feed_url, feed|
    add_entries(feed.entries)
  end
end

这假设您总是要向update_from_feeds传递多个提要url (或数组中的单个url)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4092706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档