Rails アプリに Nokogiri を適用することについて質問があります。ウェブサイトから野球の統計を収集し、そのデータをビューに表示しようとしています。データの解析には成功しましたが、RESTful な方法でコードを保存する場所がわかりません。
現在、私は統計を収集し、それらを配列に入れてから、別の配列 (ランク、チーム、リーグなど) と照合しています。次に、2 つの配列がハッシュに入れられます。これを行うためのより効率的な方法はありますか (データを解析してからデータをハッシュ値として割り当て、ランク、チーム、リーグなどをハッシュ キーとして割り当てます)。
最後に、ノコギリ呼び出しをコントローラーに配置しましたが、もっと良い方法があると思います。Ryan Bate の Railscasts は、Nokogiri 呼び出しを rake タスク (/lib/tasks/) に入れることを提案しています。Web サイトで毎日新しい野球統計を受信したいので、定期的にレーキ タスクを実行する必要がありますか? 次に、どのようにデータをビューに実装するのが最善でしょうか。
オンラインで検索すると、これを config/initializers に入れるというアイデアがもたらされましたが、それがより良い解決策であるかどうかはわかりません。
以下はノコギリコールです。
task :fetch_mets => :environment do
require 'nokogiri'
require 'open-uri'
url = "http..."
doc = Nokogiri::html(open(url))
x = Array.new
doc.css('tr:nth-child(14) td').each do |stat|
x << stat.content
end
a = %w[rank team league games_total games_won games_lost ratio streak]
o = Hash[a.zip x]
statistics = Hash[o.amp{|(y,z)| [y.to_sym, z]}]
@order_stat = statistics.each{|key, value| puts #{key} is #{value}."}
end
何か明確にする必要がある場合はお知らせください。どうもありがとうございます。