0

私の Rails アプリには、記事、ブログ投稿などのコンテンツ生成リソースがいくつかあります。

個々のリソースごとに RSS を生成できますが、これらの複数のフィードを 1 つの RSS フィードに同期する方法がわかりません。

現在、FeedBurner を介して記事フィードをセットアップしましたが、FeedBurner でさえ、同じアプリの異なる RSS を 1 つにマージするこの機能を持っていないため、ユーザーは個々の RSS (私は既に行っています) または単にすべての更新を取得する単一のメイン フィード。

Rails アプリのプラグインもコードも見つかりません。

4

3 に答える 3

2

FeedStitchを使用すると、複数のフィードを「ステッチ」することができます。Railsの観点からはそれを解決しませんが、仕事は終わります。

フィードをfeedstitchに入れてから、feedstitchフィードでfeedburnerを使用することをお勧めします。

于 2009-06-18T11:55:09.820 に答える
1

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

于 2009-06-18T12:14:38.143 に答える
0

そのために外部サービスに依存することに同意する場合は、RSSMixまたはYahoo!を使用できます。パイプ:

www.rssmix.com/

pipes.yahoo.com/pipes/

于 2009-06-18T13:15:47.427 に答える