0
當某人以不同於整數值的方式訪問我的API時,它應返回400錯誤。發生錯誤時呈現狀態代碼
我minimalized指數的方法是:
def index
@returnType = MyType.all
if params["limit"].present?
begin
limit = Integer(limit)
rescue Exception=>e
render status: :bad_request
end
end
respond_to do |format|
format.json
end
end
但是,在異常情況下,我得到一個AbstractController::DoubleRenderError
。
問題是,Rails沒有停止方法在render
,它繼續與respond_to
部分。
注意:您應該小心使用英文'和'和'或'運算符。閱讀此:http://devblog.avdi.org/2014/08/26/how-to-use-rubys-english-andor-operators-without-going-nuts/ – Surya 2014-10-01 19:12:04
澄清它@Surya,但我質疑如何令人困惑的是在這種情況下。 – Undo 2014-10-01 19:13:41
您的解決方案很好,+1,但對Ruby生態系統不熟悉的人會從SO上發佈的答案中學到更多。因此,'&&'和'和'與初學者的應用程序有很大的混淆,因爲你的答案已經有了,所以我忍不住要爲其他人記下這些。 :) – Surya 2014-10-01 19:19:55