gpt4 book ai didi

ruby-on-rails-3 - 如何拯救来自 Rails 3.2 中间件的自定义异常?

转载 作者:行者123 更新时间:2023-12-04 11:41:29 25 4
gpt4 key购买 nike

我有一个使用 Apartment 的 Rails 3.2 应用程序,用作中间件。公寓抛出Apartment::SchemaNotFound异常,没有办法用 rescue_from 来拯救它来自 ApplicationController .我以为我会用 config.exceptions_appthis blog post 中的第 3 点所述,但我无法将路由器设置为异常(exception)应用程序,我假设我必须创建自己的。

所以问题是:我该如何进行?

最佳答案

我们故意离开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更多细节

关于ruby-on-rails-3 - 如何拯救来自 Rails 3.2 中间件的自定义异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11667710/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com