2013-06-25 38 views
5

如果用戶尚未同意新的服務條款,則需要在我的ApplicationController中設置一個用於重定向用戶的before_filter。但是,我想限制過濾器只能根據請求的類型運行。應用程序控制器中的before_filter僅用於獲取請求

我想寫的東西是這樣的:

class ApplicationController 

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

是這樣的可能嗎?

回答

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

工作應該有'之間的逗號:get_filter'和':if'。試圖編輯,但SO需要六個字符更改最低 – aviemet

+0

謝謝,修正。 – deefour

0

致意deefours回答,這也與Sinatra::Request

before do 
    something if request.get? 
end 
相關問題