2017-03-06 1 views
0

Ich versuche, diese Bedingung zu verwenden, also wenn die Antwort keine Sectionid enthält, wird es die erste Antwort zurückgeben, und wenn es eine sectionid enthält, wird es die zweite zurückgeben Antwort. Das Problem ist, dass sectionid in der Antwort ist und ich nicht sicher bin, wie man die Bedingung mit der Antwort definiert, bevor ich die Anfrage mache, so wie ich es gerade mache, wird die erste Antwort zurückgegeben, egal unter welchen Umständen anfordern. jede Hilfe wäre sehr dankbar, danke.wie zwei API-Anfragen mit einem Antwortparameter und bedingten

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 

Antwort

1

Ihr Zustand wird immer wahr sein, weil Sie überprüft werden, wenn der Zeichenfolge Wert "sectionId"true zu dem Booleschen Wert unterscheidet. Es ist immer anders.

Sollte es nicht params[:sectionId] anstelle von "sectionId" sein? Schauen Sie sich die Protokolle an und prüfen Sie, welche Parameter in show eingegeben werden. Alternativ fügen Sie puts params.inspect in der ersten Zeile der Show hinzu, um sie direkt auf Ihrer Konsole auszugeben.

+0

Wird dies ausprobieren, danke, meine einzige Frage ist, wenn Sie params [: sectionid] ist das nicht auf eine Abfrage param in der Anfrage nicht ein Körper Param in der Antwort beziehen? –

+0

Ich verstehe nicht, Sie versuchen, die Antwort von der Antwort zu bestimmen? Die Antwort sollte davon abhängen, was in der Anfrage enthalten ist. Ich denke, du meinst vielleicht, dass die Anfrage eine JSON-Payload hat. Wenn ja, wenn der Client sie mit dem entsprechenden Request-Header sendet - 'content-type: application/json', wird Rails automatisch params davon setzen. – mahemoff

+0

ja ich denke ja, danke, ich habe versucht, diesen Code hinzuzufügen, aber ich bekomme nicht das Ergebnis Ich will das macht Sinn? '@events = Unirest.get (" https://api.stubhub.com/search/inventory/v2?eventid=#{params[:id]}&limit=1000&start=0&rows=1000§ionStats=true ", Kopfzeilen: {" Akzeptieren Sie "=>" application/json "," Authorization "=>" Bearer *** "}). Body' '@events.each do | listing | wenn Listing [0] ["sectionId"]. Vorhanden? machen ‚show.html.erb'' ' sonst machen‘index.html.erb'' ' ' end' end'' end' –