2017-03-06 13 views
0

この条件を使用しようとしているので、レスポンスにセクションIDが含まれていない場合は最初のレスポンスが返され、セクションIDが含まれている場合は、応答。問題は、そのsectionidがレスポンスにあり、要求を行う前にレスポンスを条件付きで定義する方法がわかりません。私が現在行っている方法です。最初のレスポンスは返されます。要求。どんな助けでも大変感謝しています。レスポンスパラメータを使用して2つのapiリクエストを作成する方法

def show 
    if "sectionId" != true 
    @events = Unirest.get("https://api.stubhub.com/search/inventory/v2?eventid=#{params[:id]}&limit=1000&start=0&rows=1000&sectionStats=true", headers:{"Accept" => "application/json", "Authorization" => "Bearer*****"}).body 
else 
    @events = Unirest.get("https://api.stubhub.com/search/inventory/v2/sectionsummary?eventid=#{params[:id]}", headers:{"Accept" => "application/json", "Authorization" => "Bearer ******"}).body 
end 

答えて

1

文字列値"sectionId"がブール値trueに異なっている場合は、チェックしているので、あなたの条件は常にtrueになります。それは常に異なっています。

"sectionId"の代わりにparams[:sectionId]にする必要はありませんか?ログを見て、どのパラメータがshowに入っているかを確認します。または、showの最初の行にputs params.inspectを追加してコンソールに直接出力します。

+0

私の唯一の質問は、あなたがparams [:sectionid]を要求したときにクエリparamを参照するのではなく、応答のbody Paramです。 –

+0

私は理解していない、あなたは応答からの応答を決定しようとしていますか?レスポンスはリクエストに含まれる内容に依存する必要があります。リクエストがJSONペイロードを持っていることを意味すると思います。クライアントが適切なリクエストヘッダー(content-type:application/json')を送信すると、Railsはそれを自動的にparamsから設定します。 – mahemoff

+0

はい、私はこのコードを追加しようとしましたが、感謝していますが、私が望む結果が得られません。 '@events = Unirest.get(" https://api.stubhub.com/search/inventory/v2?eventid=#{params[:id]}&limit=1000&start=0&rows=1000§ionStats=true "、ヘッダー:{"受け入れ "=>"アプリケーション/ json "、"許可 "=>"ベアラ*** "})。 listing [0] ["sectionId"]が存在する場合は が存在しますか? はレンダリング 'end' ' end' 'end' –

関連する問題