1

グラフをページに表示するために必要な JSON を取得する get リクエストがあります。私は JQuery でそれを行いますが、私が使用している API のため、それは不可能です。つまり、Rails で行う必要があります。

私はこれを疑問に思っています: ページのアクションで別のスレッドで get リクエストを実行すると、ページの読み込み後に変数を javascript に渡すことができますか? スレッドがレールでどのように機能するかわかりません。

この作品のようなものでしょうか:

Thread.new do
        url = URI.parse("http://api.steampowered.com/IDOTAMatch_570/GetMatchHistory/v001/?key=#{ENV['STEAM_WEB_API_KEY']}&account_id=#{id}&matches_requested=25&game_mode=1234516&format=json")
        res = Net::HTTP::get(url)
        matchlist = JSON.parse(res)
        matches = []
        if matchlist['result'] == 1 then
            matchlist['result']['matches'].each do |match|
                matches.push(GetMatchWin(match['match_id']))
            end
        end

        def GetMatchWin(match_id, id)
            match_data = matchlist["result"]["matches"].select {|m| m["match_id"] == match_id}
        end
    end
end

上記のコードがヘルパー ファイルにある場合、コントローラーのアクションで次のように呼び出されます。

def index
  if not session.key?(:current_user) then
    redirect_to root_path
  else
    gon.winlossdata = GetMatchHistoryRawData(session[:current_user][:uid32])

  end
end

「gon」の部分は、javascript にデータを渡すための単なる gem です。

4

0 に答える 0