2013-09-26 50 views
2

當用塊定義before_filter時,是否可以在使用skip_before_filter時跳過前一個篩選器。例如:跳過用塊定義的before_filter

class ApplicationController < ActionController::Base 
    before_filter do |controller| 
    # filter stuff 
    end 
end 

我知道,這是有可能使用「正常」的方式來定義過濾器的方法名稱。

+0

不這樣認爲,它移動到一個方法 – apneadiving

回答

2

我居然找到解決的辦法,這是不可能跳過使用匿名PROC定義回調在方法中使用if選項。使用

class ApplicationController < ActionController::Base 
    before_filter(:if => :use_filter?) do |controller| 
    # filter stuff 
    end 

    private 

    def use_filter? 
    true 
    end 
end 

class OtherController < ApplicationController 
    private 

    def use_filter? 
    false 
    end 
end 

:d

+0

或者你可以使用:除非=> inherited_controller? def inherited_controller? self.class!= ApplicationController end –