如果某人使用不同于整数值的内容访问我的API,则应返回400错误。
我的最小化索引方法是:
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
部分。
答案 0 :(得分:1)
您需要render and return
:
if params["limit"].present?
begin
limit = Integer(limit)
rescue Exception=>e
render status: :bad_request
return
end
end
这将呈现错误,然后停止执行该方法。