我的 rails 应用程序有几个内容生成资源,如文章、博客文章等。
我可以为每个单独的资源生成 RSS,但我不知道如何为这些多个提要同步到一个 RSS 提要中。
目前我已经通过 FeedBurner 设置了文章提要,甚至 FeedBurner 也没有这种功能可以将同一应用程序的不同 RSS 合并为一个,这样我的用户就可以订阅单个 RSS(我已经完成了)或只是一个单个主提要获取所有更新。
我找不到任何插件,也找不到我的 Rails 应用程序的任何代码?
我的 rails 应用程序有几个内容生成资源,如文章、博客文章等。
我可以为每个单独的资源生成 RSS,但我不知道如何为这些多个提要同步到一个 RSS 提要中。
目前我已经通过 FeedBurner 设置了文章提要,甚至 FeedBurner 也没有这种功能可以将同一应用程序的不同 RSS 合并为一个,这样我的用户就可以订阅单个 RSS(我已经完成了)或只是一个单个主提要获取所有更新。
我找不到任何插件,也找不到我的 Rails 应用程序的任何代码?
FeedStitch允许您将多个提要“缝合”在一起。从 Rails 的角度来看,它并没有解决这个问题,但它完成了工作。
我建议将您的饲料放入 feedstitch,然后将 feedburner 与 feedstitch 饲料一起使用。
如果你想从 Rails 端解决问题,没那么复杂。创建一个新操作并获取要格式化为提要的记录并创建提要。
# 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
如果您接受依赖外部服务,您可以使用 RSS Mix 或 Yahoo! 管道:
www.rssmix.com/
管道.yahoo.com/pipes/