我在控制器中定义了一个前置过滤器:
before_filter :find, :only => [:caller]
我希望在“find”方法中捕获异常:
def find
begin
...
rescue Exception
redirect_to somewhere
end
end
但是如何阻止“调用者”方法继续执行?
答案 0 :(得分:2)
如果before_filter
呈现或重定向,则执行会自动停止。
了解详情:http://guides.rubyonrails.org/action_controller_overview.html#filters
对于ActiveRecord
等before_validation
回调,请使用return false
停止保存记录。
答案 1 :(得分:0)
您是否在重新定位后尝试了return
?
redirect_to ...
return # <<
end
end