在我的 Rails 3.1 应用程序中,我rescue_from
在基本 API 控制器之上有一个如下所示:
rescue_from Exceptions::InvalidApiKey, :with => :invalid_api_key
在 invalid_api_key 看起来像这样:
def invalid_api_key
Rails.logger.debug "Invalid API key"
render :json => {:error => :invalid_api_key}, :status => :forbidden
end
有一个before_filter
检查 API 密钥并在需要时抛出 InvalidApiKey 异常。
但是,AbstractController::DoubleRenderError
当我尝试使用错误的 API 密钥的控制器时,我得到一个错误,因为它试图在异常处理程序和原始操作中呈现。
我怎样才能避免这种情况?