我是铁杆新手,需要弄清楚如何做点什么。我正在使用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
答案 0 :(得分:1)
您可以通过将以下方法添加到Feed模型来执行此操作:
class Feed < ActiveRecord::Base
def self.update_feeds
all.each do |feed|
FeedEntry.update_from_feed(feed.url)
end
end
end