私の Rails アプリでは、API を介して ESPN の見出しをキャプチャするための実用的な方法があります。しかし、これを複製してすべての NFL プレーヤーをキャプチャしようとすると、この方法は失敗します。
これは、IRB を介して動作しているヘッドライン メソッドです。IRB で Headline.all を実行すると、うまく機能します。
MODEL (headline.rb)
class Headline
include HTTParty
base_uri 'http://api.espn.com/v1/sports'
def self.all
response = Headline.get('/news/headlines',
:query => { :apikey => 'my_api_key' })
response["headlines"]
end
end
CONTROLLER (headlines_controller.rb)
class HeadlinesController < ApplicationController
def index
@headlines = Headline.all
end
end
これは、NFL プレーヤー向けのほぼ同じコードで、IRB 経由で "nil" を返します。理由はありますか?
MODEL (athlete.rb)
class Athlete
include HTTParty
base_uri 'http://api.espn.com/v1/sports'
def self.all
response = Athlete.get('/football/nfl/athletes',
:query => { :apikey => 'my_api_key_from_espn' })
response["athletes"]
end
end
CONTROLLER (athletes_controller.rb)
class AthletesController < ApplicationController
def index
@athletes = Athlete.all
end
end
更新: ブラウザ経由で GET リクエストを正常に実行できる (結果を確認できる) ことをコメントする必要があります。
ありがとう。これは StackOverflow への私の最初の投稿なので、質問のアプローチ/形式に関するフィードバックをお待ちしています。