2013-06-25 3 views
5

मुझे अपने एप्लिकेशन नियंत्रक में पहले_फिल्टर सेट अप करने की आवश्यकता है जो उपयोगकर्ता को रीडायरेक्ट करता है अगर वे अभी तक सेवा की नई शर्तों पर सहमत नहीं हैं। हालांकि, मैं फ़िल्टर को केवल अनुरोध के प्रकार के आधार पर चलाने के लिए प्रतिबंधित करना चाहता हूं।एप्लिकेशन नियंत्रक में पहले_फिल्टर केवल अनुरोध प्राप्त करने के लिए

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'। संपादित करने का प्रयास किया, लेकिन एसओ को छह वर्ण परिवर्तन की आवश्यकता है न्यूनतम – aviemet

+0

धन्यवाद, तय। – deefour

0

deefours लिए प्रशंसा का जवाब, यह भी Sinatra::Request

before do 
    something if request.get? 
end 
संबंधित मुद्दे

 संबंधित मुद्दे