如何解决在Rails after_filter中检测是渲染还是重定向
|| 我正在Rails 3中编写一个after_filter,我想检测控制器(或任何其他过滤器)是否已发出重定向。有什么办法吗?解决方法
您可以看一下
status
代码。 200是渲染,302是重定向。
after_filter :what_happened
protected
def what_happened
was_redirect = self.status == 302
was_render = self.status == 200
end
, 对于仍然停留在轨道3上并想要使用基于类的过滤器在具有组合的控制器之间共享逻辑的任何人,请查看以下示例:
class MyController < ApplicationController
after_filter ControllerMetrics
end
class ControllerMetrics
def self.filter(controller)
status_xxx = \"#{controller.response.status / 100}XX\"
Statsd.increment(\"response.#{status_xxx}\")
end
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。