我使用Feedzirra抓取单个提要并对其进行解析已经有一段时间了,但我正在尝试通过它运行两个单独的feedburner提要,我知道它们可以自己工作,但同时运行这两个提要会产生错误。
NoMethodError in Feed entryController#index
undefined method `title' for #<Array:0x1042f9590>我的模型是这样的:
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页面上的两行代码。
提前感谢!
发布于 2010-11-04 10:34:34
当从fetch_and_parse在update_from_feeds中返回feeds时,当传入多个提要时,它是一个数组。因此,add_entries方法中的each拆分成单独的提要,而不是提要条目。要解决此问题,您可以按如下方式重新定义update_from_feeds:
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)。
https://stackoverflow.com/questions/4092706
复制相似问题