以上是可能的吗?Rails - 如果在管理命名空间中:skip_after_action:intercom_rails_auto_include
我需要运行skip_after_action :intercom_rails_auto_include
但只有当请求在管理员名称空间中。
以上是可能的吗?Rails - 如果在管理命名空间中:skip_after_action:intercom_rails_auto_include
我需要运行skip_after_action :intercom_rails_auto_include
但只有当请求在管理员名称空间中。
你可以这样做,在application_controller.rb
。
skip_after_action :intercom_rails_auto_include, if: -> { self.class.parent == Admin }
此,如果在管理命名空间的所有控制器都是从ApplicationController继承才会工作。像这样class Admin::FooController < ApplicationController
。
这就是说我会使用重构。这篇博文在Rails 4应用程序中有一个很好的例子。 http://blog.roberteshleman.com/2014/08/14/using-rails-namespaces-for-admin-actions/
创建一个AdminController
,它继承自ApplicationController
并将您的skip_after_action
放在那里。
然后:
Admin::FooController < AdminController
而不是
Admin::FooController < ApplicationController
感谢那些把我拉到右行,我的管理控制器不是从应用控制器继承。我找到了他们正在使用和装饰的那一个。使用狂欢宝石。 – AndrewJL