2013-02-11 4 views
19

Wie erzwingen Sie, dass Ihre Anforderungen den Status 200 zurückgeben, außer in schwerwiegenden Fällen, in denen ich 500 zurückgebe? Derzeit stoße ich auf das Problem, dass mein Client einen Statuscode von 411 (Länge nicht angegeben) erhält und dies Probleme mit meinem Testframework verursacht.Erzwingen der HTTP-Antwort zum Zurückgeben des Status 200 in Rails

Gibt es eine Möglichkeit, Ihren Rückgabestatus in einem Rails-Controller manuell anzugeben?

EDIT: Genauer gesagt weiß ich, dass Sie

verwenden können: Status

aber wo stelle ich, dass, wenn

format.json mit {machen: json = > final_obj}

um ein HTTP-Antwort zurückzugeben e nach einem POST?

Antwort

40
render status: 200, json: @controller.to_json 
+12

Ich denke, mit: ok statt die wörtliche 200 besser ist. Falls http sich ändert und es wird etwas anderes :) –

+11

@ArunaHerath LOL !!!!! – Purrell

+3

@Purrell mit Variablen anstelle von magischen Zahlen ist nur eine gute Übung. – springloaded

10

Ich nehme an, das sollte deine Frage beantworten, wenn ich deine Frage richtig verstanden habe.

Rubin 1.9.3

format.json { render json: final_obj, status: :ok } 

Rubin 1.8.7

format.json { render :json => final_obj, :status => :ok } 
Verwandte Themen