【问题标题】:Rails Multiple RSS Feed ParsingRails 多 RSS 提要解析
【发布时间】:2014-02-27 08:22:36
【问题描述】:

我是 Rails 新手,需要弄清楚如何做某事。我正在使用 Feedzirra gem,并且在 FeedEntry 模型中有一个名为 update_from_feed 的方法。这目前可以使用 rails 控制台。

如何从 feeds 表中传递所有 rss feed url,以便解析所有 rss feed 并将其保存到 feed_entries 表?我想我需要从 feed 表中获取 url,并以某种方式制作一个 feed url 数组,循环遍历它,然后将数组传递给 update_from_feed 方法。我不知道该怎么办。这是当前的 FeedEntry 模型:

class FeedEntry < ActiveRecord::Base
  attr_accessible :guid, :name, :published_at, :summary, :url

  belongs_to :feed

  def self.update_from_feed(feed_url)
    feed = Feedzirra::Feed.fetch_and_parse(feed_url)
    add_entries(feed.entries)
  end

  private

  def self.add_entries(entries)
    entries.each do |entry|
      unless exists? :guid => entry.id
        create!(
          :name => entry.title,
          :summary => entry.summary,
          :url => entry.url,
          :published_at => entry.published,
          :guid => entry.id
        )
      end
    end
  end
end

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    您可以通过将以下方法添加到您的 Feed 模型来做到这一点:

    class Feed < ActiveRecord::Base
    
      def self.update_feeds
        all.each do |feed|
          FeedEntry.update_from_feed(feed.url)
        end
      end
    
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多