2013-05-22 24 views
2

我有一個Rails動作與head :ok響應,而不是呈現任何內容。我打電話使用RESTClient實現這個動作,像這樣:RESTClient實現POST不顯示在狀態首隻響應

resp = RestClient.post("#{api_server_url}/action/path", {:param_1 => thing, :param_2 => other_thing}, :authorization => auth) 

Rails服務器記錄顯示,這和預期一樣:

Completed 200 OK in 78ms (ActiveRecord: 21.3ms) 

然而,由此產生的resp值是字符串" ",而而不是我可以檢查的對象(例如,查看它的狀態碼是什麼)。

我試着改變動作來使用head :created來代替,只是爲了看看它是否產生了不同的結果,但它是一樣的:" "

如何獲取此響應的狀態碼?

回答

3

RestClient.post返回類RESTClient實現::響應從String類繼承的一個實例。

您仍然可以通過調用方法代碼resp.code檢查返回代碼。其他方法例如是resp.headersresp.cookies

+0

哈,所以它。我沒有想到這一點,我感到非常愚蠢。 – MrTheWalrus

+2

@MrTheWalrus不要。當它實際上包含更多信息(標頭,cookie,狀態碼)時,它感覺像是一個糟糕的解決方案,返回字符串結果。 – Pafjo