0

私は過去 6 か月間、Ruby と Rails を使用してプログラミングを行ってきましたが、今ではかなり快適に使用できます。しかし、Rails アプリを使用する前は、RSS フィードを扱う必要はありませんでした。私の現在のプロジェクトでは、始値、高値、安値、出来高の値でさまざまな市場インデックスを表示する表示ページがあります。ここで、ヤフー ファイナンスから RSS フィードを取得し、同じページに表示したいと考えています。このリンクhttp://finance.yahoo.com/rssindexから RSS フィードを取得し、Rails アプリの表示ページに表示したいと考えています。この問題の解決策を探しているときに、Rails 3 で RSS フィードを生成するという記事に出会いました。

しかし、これは自分のアプリの RSS フィードを生成するためのものだと思います。私のニーズはこれとは違うと思います。RSS フィードを取得して、表示ページに表示したいと考えています。RSS フィードを取得するために、素晴らしいと思われる feedzirra という ruby​​ gem を見つけました。しかし、Rails アプリでニュース フィードを実際に表示する方法について、まだ少し混乱しています。つまり、そのためにモデル、ビュー、およびコントローラーを作成する必要がありますか? 表示ページにニュース フィードを表示するために、データベースにニュース フィードを保存する必要がありますか? または、feedzirra を使用して取得し、表示ページに表示する方法はありますか? この位置からどのように前進するかはわかりません。この問題を解決する最善のRailsの方法は何ですか?

4

1 に答える 1

1

Ryan Bates は、問題を処理する 1 つの方法について Railscast を持っています: http://railscasts.com/episodes/168-feed-parsing

このデータのモデルは間違いなく必要です。目標は、データのフェッチと解析を処理するモデルを取得することです。

独自のデータベースに情報を保存することに関心がない場合 (railscast のエピソードで示されているように)、ページが読み込まれるたびに yahoo にリクエストを送信すると、パフォーマンスが少し低下することに注意してください。

モデルに追加できるメソッドの簡単な例を次に示します。

def self.lookup_stock_titles(stock_name)
  titles = Array.new
  Feedzirra::Feed.fetch_and_parse("http://feeds.finance.yahoo.com/rss/2.0/headline?s=#{stock_name}&region=US&lang=en-US").entries.each do |entry|
     titles << entry.title
  end
  return titles
end

これにより、rss フィードから一連のタイトルが得られ、好きなようにコントローラーまたはビューに統合できます。

<% ModelName.lookup_stock_titles("ABC").each do |title| %>
  <h2><%= title %></h2>
<% end %>

また、ヤフーがデータを好きなように使用できること、データベースに保存できること、1 時間あたりのリクエスト数、どのような種類のクレジットを提供する必要があるかなどを確認してください。

于 2013-03-17T20:09:31.350 に答える