ruby-on-rails-3 – 如何在Rails 3.2中拯救来自中间件的自定义异
发布时间:2020-12-17 03:14:40 所属栏目:百科 来源:网络整理
导读:我有一个使用 Apartment的Rails 3.2应用程序,它用作中间件. Apartment抛出了一个Apartment :: SchemaNotFound异常,没有办法从ApplicationController中使用rescue_from来解救它.我以为我会使用如 this blog post中第3点所述的config.exceptions_app,但是我不
我有一个使用
Apartment的Rails 3.2应用程序,它用作中间件. Apartment抛出了一个Apartment :: SchemaNotFound异常,没有办法从ApplicationController中使用rescue_from来解救它.我以为我会使用如
this blog post中第3点所述的config.exceptions_app,但是我不能将路由器设置为异常应用程序,我假设我必须自己创建.
所以问题是:我该如何进行? 解决方法
我们故意将Apartment设置为最小,以便您可以自行处理异常,而无需任何特定于Rails的设置.
我会做类似@jenn上面所做的事情,但我不打算设置机架环境并稍后处理它,只需在机架中完全处理响应. 例如,您可能只想重定向到SchemaNotFound上/上 你可以做点什么 module MyApp class Apartment < ::Apartment::Elevators::Subdomain def call(env) super rescue ::Apartment::TenantNotFound [302,{'Location' => '/'},[]] end end end 这是异常的原始处理.如果你需要在Rails方面发生更多事情,那么@ jenn的答案也应该有效. 查看Rack以获取更多详细信息 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |