Ruby on rails Feedzirra-如何获得更新的RSS源?

Ruby on rails Feedzirra-如何获得更新的RSS源?,ruby-on-rails,feedzirra,Ruby On Rails,Feedzirra,以下代码摘自Feedzirra的要点,用于从RSS提要获取更新的内容: feed = Feedzirra::Feed.fetch_and_parse(feed_url) feed = Feedzirra::Feed.update(feed) do_something_with_new_feed(feed.new_entries) if feed.updated? 我不明白Feedzirra怎么知道feed已经更新了。我不能让它工作。为了知道,我必须将以前(几分钟或几小时前)返回的Feed对象F

以下代码摘自Feedzirra的要点,用于从RSS提要获取更新的内容:

feed = Feedzirra::Feed.fetch_and_parse(feed_url)
feed = Feedzirra::Feed.update(feed)
do_something_with_new_feed(feed.new_entries) if feed.updated?
我不明白Feedzirra怎么知道feed已经更新了。我不能让它工作。为了知道,我必须将以前(几分钟或几小时前)返回的
Feed
对象
Feedzirra::Feed.fetch_和_parse(Feed_url)
传递到
Feedzirra::Feed.update
,否?如果我使用刚刚获取并解析的提要,它如何知道它是否已更新?

提要(您正在访问的站点)可以(但不一定)维护一个或两个字段,以确定自上次访问以来它们是否已更改。这些是etag,最后一次修改。如果站点支持其中一个或两个,则当您访问提要时,它们将返回给您。您的模型应该为每个感兴趣的提要维护这些字段。Feedzirra::Feed.update使用它们来确定自上次访问以来是否更新了提要。这将允许Feedzirra::Feed.update提取自上次访问以来新的或更改的条目

如果您既没有etag字段,也没有last modified字段,因为这是您的第一次访问,或者因为站点没有提供它们,那么Feedzirra::Feed.fetch_和_parse会从站点提取所有可用的条目。这对于第一次访问是有意义的。对于后续访问来说,它没有什么意义,但是如果站点不支持它,你能做什么呢

需要说明的是,Feedzirra::Feed.fetch_和_parse总是提取所有可用的条目。Feedzirra::Feed.update仅提取自etag和/或提供给它的上次修改日期以来新的或更改的条目

条目还保留更新/发布日期