2012-08-24 34 views
5

सरल प्रश्न - मैं क्वेरी स्ट्रिंग सहित वर्तमान कार्रवाई का पथ या पूर्ण URL कैसे प्राप्त करूं?क्वेरी स्ट्रिंग सहित वर्तमान क्रिया के पथ/यूआरएल प्राप्त करें? (रेल)

मैं बहुत तरह सत्र चर करने के लिए इसे बचाने के लिए करना चाहते हैं:

def show 
    @thingy = Thingy.find(params[:id]) 

    session[:some_var] = current_url 

    ... 
end 

फिलहाल मैं निम्नलिखित कर रहा हूँ, लेकिन यह थोड़ा भारी हाथ (विशेष रूप से क्वेरी स्ट्रिंग की निर्दिष्ट करना अलग-अलग पैरामीटर लगता है):

def show 
    @thingy = Thingy.find(params[:id]) 

    session[:some_var] = thingy_path(@thingy, :q1 => params[:q1], :q2 => params[:q2]) 

    ... 
end 

उत्तर

12

request.url शायद आप जो खोज रहे हैं वह शायद है।

+5

'request.fullpath' प्रोटोकॉल या डोमेन के बिना आपको सापेक्ष पथ + क्वेरी स्ट्रिंग भी देगा। – gmcnaughton

1

पहुँच params चर, यह आप controller और action के साथ ही क्वेरी दे देंगे। request ऑब्जेक्ट का उपयोग करके आप जितना चाहें उतना गहरा खोद सकते हैं।