加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Rails 3中预先设置了before_filters

发布时间:2020-12-17 03:58:10 所属栏目:百科 来源:网络整理
导读:我有一个用于控制器配置的DSL.底层功能依赖于before_filters.为了防止多次设置before_filter,我真的需要找出是否已经在Rails 3控制器中设置了before_filter.由于before_filter的工作与类变量(继承,类重新加载)不同,我不能只设置要检查的类变量. 深入研究Abst
我有一个用于控制器配置的DSL.底层功能依赖于before_filters.为了防止多次设置before_filter,我真的需要找出是否已经在Rails 3控制器中设置了before_filter.由于before_filter的工作与类变量(继承,类重新加载)不同,我不能只设置要检查的类变量.

深入研究AbstractController回调的新高度抽象代码并没有给出任何关于这是否可行的线索.

我是否真的需要为控制器中的每个DSL呼叫调用skip_filter?

解决方法

以下是我发现的方法:

noam$rails c

Loading development environment (Rails 3.0.3)

ruby-1.9.2-p136 :001 > ApplicationController._process_action_callbacks.map {|c| c.filter if c.kind == :before}.compact
=> [:deny_banned_user,:validate_session,:verify_authenticity_token,:require_user_login]
ruby-1.9.2-p136 :002 >

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读