假设我有基本控制器:
class ApplicationController < ActionController::Base
此外,我还有一些继承的控制器,例如:
class JobController < ApplicationController
我想在JobController
中显式处理一些异常子集,而在ApplicationController
中,我将处理其余所有异常。
在Ruby on Rails中进行异常处理的正确方法是什么?我知道我们可以使用:rescue_from
和around_action
。那么哪个是首选方式?
答案 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"]