在Ruby on Rails中进行异常处理的正确方法是什么?

时间:2018-07-07 01:02:26

标签: ruby-on-rails ruby exception-handling

假设我有基本控制器:

class ApplicationController < ActionController::Base

此外,我还有一些继承的控制器,例如:

class JobController < ApplicationController

我想在JobController中显式处理一些异常子集,而在ApplicationController中,我将处理其余所有异常。

在Ruby on Rails中进行异常处理的正确方法是什么?我知道我们可以使用:rescue_fromaround_action。那么哪个是首选方式?

1 个答案:

答案 0 :(得分:0)

我认为在应用程序控制器中添加result_from是处理异常的好方法。

例如(导轨5。*):

class ApplicationController < ActionController::Base
  rescue_from ::ActiveRecord::RecordNotFound do |exception|
    render plain: exception.message, status: :not_found
  end
end

在此之后,您将获得:

["Couldn't find * with 'id'=1"]