【问题标题】:Apply Rails controller filter to all controllers of a particular namespace?将 Rails 控制器过滤器应用于特定命名空间的所有控制器?
【发布时间】:2010-11-26 23:56:41
【问题描述】:

我在命名空间Foo 中有一堆控制器。 我想将before_filter 'require_user' 应用于所有这些,但不应用于其他不属于Foo 命名空间的控制器。

除了在每个控制器中显式调用 before_filter 方法之外,还有其他方法可以实现吗?

【问题讨论】:

    标签: ruby-on-rails namespaces filter controllers


    【解决方案1】:

    您可以拥有一个包含before_filterFooController 类,然后将其用作该命名空间中所有控制器的基类。

    【讨论】:

    • 你怎么能做到这一点?我尝试创建类,但它没有继承之前的过滤器
    • 类似:class Namespace::ResourceController < Namespace::BaseController
    • 或更现实的例子:class Admin::InviteTokensController < Admin::AdminController
    【解决方案2】:

    没有。除了做一些非常讨厌的ObjectSpace 类的黑客攻击。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-19
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 1970-01-01
      相关资源
      最近更新 更多