2013-06-25 3 views
5

사용자가 아직 새로운 서비스 약관에 동의하지 않은 경우 사용자를 리디렉션하는 before_filter를 내 ApplicationController에 설정해야합니다. 그러나 요청 유형에 따라 실행되도록 필터를 제한하려고합니다.before_filter before 응용 프로그램 컨트롤러에서만 요청 받기

class ApplicationController 

before_filter :filter, :only => {:method => :get} 

이 가능한 같은 것입니다 :

나는 이런 식으로 뭔가를 쓰고 싶습니다? get_filter`와`: if` deefours에

답변

8
before_filter :do_if_get 

private 

    def do_if_get 
    return unless request.get? 

    # your GET only stuff here. 
    end 

이상 단순히

before_filter :get_filter, if: Proc.new {|c| request.get? } 

private 

    def get_filter 
    # your GET only stuff here. 
    end 
+0

작업 대답. 편집을 시도했지만 SO가 최소 6 자 변경이 필요합니다 – aviemet

+0

고맙습니다. – deefour

0

칭찬은`사이에 쉼표가 있어야합니다 이것은 또한 Sinatra::Request

before do 
    something if request.get? 
end