2012-01-17 23 views
14

से रेफरर प्राप्त करने के लिए मैं एक यूआरएलकैसे एक पुनः निर्देशित यूआरएल

domain.com/a

जो

domain.com/controller/action/a पर रीडायरेक्ट किया है।

डोमेन.com/controller/action/a के लिए मेरी कार्रवाई में मैं रेफरर (i.e domain.com/a) कैसे प्राप्त करूं?

एक विकल्प रेफरिंग डोमेन को पैरामीटर के रूप में जोड़ना था।

domain.com/controller/action/a?referral=domain.com/a

क्या पुराने रेफरर को पैरामीटर के रूप में पास किए बिना रेफरर प्राप्त करने का कोई तरीका है। जैसे हम **request.referrer** से प्राप्त करेंगे। request.referrer रीडायरेक्ट यूआरएल के साथ काम नहीं कर रहा प्रतीत होता है।

मैं अपने विकास के लिए रेल पर रूबी का उपयोग कर रहा हूं।

+0

@okliv वास्तव में मैं भूल गया कि मैंने अपने कोड के लिए कौन सा उपयोग किया था :)। –

उत्तर

11

मैं सही पुनर्निर्देशन

session[:referrer]=url_for(params) 

से पहले सत्र में रेफ़रलकर्ता पथ की दुकान और फिर इसका इस्तेमाल जहां मैं इसे session[:referrer] के माध्यम से की जरूरत है।

+0

मुझे लगता है कि अन्य तरीके नहीं हैं – lulalala

4

हम जब एक आगंतुक हमारी साइट का दौरा http_referer को बचाने के लिए हमारे application_controller.rb में इस लाइन का उपयोग करें:

session[:http_referer] = request.env["HTTP_REFERER"]

बाद में, हम पर नज़र रखने के लिए हमारे मॉडल में मूल्य बचत होगी।

0

देर हो सकती है, लेकिन बस इसे जोड़ने के लिए। मुझे लगता है कि इसका उपयोग करने के बाद सत्र को हटाना महत्वपूर्ण है।

redirect_to session.delete(:referrer) 
संबंधित मुद्दे