检查当前控制器是否具有application_controller中的某个其他控制器的父级

时间:2010-11-17 16:48:16

标签: ruby-on-rails controllers

我有一个独立的专用客户网站部分,他们在/ dedicated路径下有工具,他们拥有的所有控制器都是DedicatedController的继承。 我想在application_controller中创建一个before_filter,以防止这些客户打开不在dedicated_controlle继承的控制器中的任何其他页面。

1 个答案:

答案 0 :(得分:0)

如果在ApplicationController中使用before_filter来防止客户转到那里的页面,则可以在DedicatedController的基本控制器中使用skip_filter

对我们来说,我们有:

class ApplicationController
  before_filter :ensure_not_a_customer
  .
  .
end
class Admin::BaseController < ApplicationController
  skip_filter :ensure_not_a_customer
  .
  .
end
class Admin::WebpageController < Admin::BaseController
  .
  .
end

然后从Admin :: BaseController继承的任何东西都会从ApplicationController中跳过before_filter。