在Rails 5中,当回调需要取消以后的回调时,recommended process is documented为“您应该显式throw :abort
”。
我的问题是:如何建议捕获此异常?
我当前的解决方案是在UncaughtThrowError
中捕获ApplicationController
-考虑到它的记录方式,我认为此功能将在Rails或Rack中间件中触发一些魔术,以立即进入呈现(ActionView
)阶段。
最佳答案
这是some examples of how to use the throw/catch in ruby。
对于Rails,我认为这样可以解决问题:
class SomeController
def some_method
if catch(:abort) { mode.save }
# success
else
# failure
end
end
end
关于ruby-on-rails-5 - catch :abort signal thrown in Rails 5 controller的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41923583/