用于多种资源的单一RSS源

时间:2009-06-18 09:40:10

标签: ruby-on-rails feeds

我的rails应用程序有几个内容生成资源,如文章,博客帖子等。

我可以为每个单独的资源生成RSS,但我不知道如何为这些多个Feed同步到一个RSS Feed。

目前我已经通过FeedBurner设置了文章Feed,甚至FeedBurner也没有这种工具将同一个应用程序的不同RSS合并为一个,这样我的用户就可以订阅个人RSS(我已经做过)或者只需一个主要的Feed即可获得所有更新。

我找不到任何插件,也没有找到任何代码来搜索我的Rails应用程序?

3 个答案:

答案 0 :(得分:2)

FeedStitch允许您将多个Feed“拼接”在一起。从Rails的角度来看,它并没有解决它,但它完成了工作。

我建议将您的送料器放入送料针,然后将Feedburner与送料针送料器一起使用。

答案 1 :(得分:1)

如果你想从Rails方面解决问题,那就没那么复杂了。 创建新操作并获取要格式化为Feed的记录并创建Feed。

# the action
def feed
  @articles = Article.all(:limit => 10)
  @posts = Post.all(:limit => 10)
  @items = @article + @posts

  respond_to do |format|
    format.html
    format.atom
  end
end

# the view
atom_feed do |feed|
  feed.title("Latest items")
  feed.updated(@items.first.try(:created_at))

  for item in @items
    feed.entry(item) do |entry|
      entry.title(item.title)
      entry.content(item.body, :type => 'html')
    end
  end
end

当然,资源必须至少为您要在控制器中调用的方法共享相同的API。 http://api.rubyonrails.org/classes/ActionView/Helpers/AtomFeedHelper.html#M001900

答案 2 :(得分:0)

如果您接受依赖外部服务,您可以使用RSS Mix或Yahoo!管道:

www.rssmix.com /

pipes.yahoo.com/pipes /