क्या क्वेरी स्ट्रिंग में एक नए पैरा के साथ रेफरिंग यूआरएल पर रीडायरेक्ट करना संभव है?रेल 4 नए पैराम के साथ रीडायरेक्ट
कुछ इस तरह:
redirect_to :back, custom_param='foo'
क्या क्वेरी स्ट्रिंग में एक नए पैरा के साथ रेफरिंग यूआरएल पर रीडायरेक्ट करना संभव है?रेल 4 नए पैराम के साथ रीडायरेक्ट
कुछ इस तरह:
redirect_to :back, custom_param='foo'
आप सत्र में रख सकते हैं और फिर वापस अनुप्रेषित
session[:somekey] = value
redirect_to :back
यह क्यों काम करना चाहिए ?? – user1066183
जब आप सत्र का उपयोग करते हैं तो सत्र में मान अनुरोधों के बीच रहता है। – techvineet
हाँ, लेकिन मुझे लिंक में पैराम लगाने की ज़रूरत है, मुझे इस तरह कुछ चाहिए: http: // localhost: 3000 /? Locale = 'pt' – user1066183
आज़माएं:
# get a URI object for referring url
referrer_url = URI.parse(request.referrer) rescue URI.parse(some_default_url)
# need to have a default in case referrer is not given
# append the query string to the referrer url
referrer_url.query = Rack::Utils.parse_nested_query(referrer_url.query).
# referrer_url.query returns the existing query string => "f=b"
# Rack::Utils.parse_nested_query converts query string to hash => {f: "b"}
merge({cp: 'foo'}).
# merge appends or overwrites the new parameter => {f: "b", cp: :foo'}
to_query
# to_query converts hash back to query string => "f=b&cp=foo"
# redirect to the referrer url with the modified query string
redirect_to referrer_url.to_s
# to_s converts the URI object to url string
यहां एक गोचा। 'रैक :: Utils.parse_nested_query (referrer_url.query) 'स्ट्रिंग कुंजी के साथ हैश देता है। इसलिए यदि आपके 'referrer_url' में' cp = bar' है, तो इसकी वर्तमान क्वेरी स्ट्रिंग है। यूआरएल की क्वेरी होगी: 'सीपी = बार और सीपी = foo'। 'रैक :: Utils.parse_nested_query (referrer_url.query)' to 'रैक :: Utils.parse_nested_query (referrer_url.query) .symbolize_keys.' या 'रैक :: Utils.parse_nested_query (referrer_url.query) .stringify_keys' को आवश्यकतानुसार बदलें – DickieBoy
एक और दृष्टिकोण के माध्यम से इसे पारित करने के लिए हो सकता है "फ्लैश" (यह रीडायरेक्ट अनुरोध के बाद स्वचालित रूप से चला जाता है):
flash[:somekey] = 'some value'
redirect_to :back
हालांकि, मेरे सहयोगियों में से एक के रूप में उल्लेख किया गया है कि यह एक बेहतर तरीका है, इसे एक प्रश्नोत्तरी के रूप में वापस करने के लिए, इसे स्टेटलेस रखने और दो यूआरएल को अलग करने के लिए। ऐसा लगता है कि ऐसा करने के लिए एक अच्छा, अंतर्निहित रेल तरीका नहीं है, जो मुझे आश्चर्य करता है कि इस दृष्टिकोण के साथ और क्या गलत है।
जब आप कहते हैं कि 'बैक' क्या आप कहते हैं कि उपयोगकर्ता कहां से आया था या कुछ क्रिया' बैक? ' – tihom
पहला ==>: वापस – user1066183
ने अर्थ को और स्पष्ट करने के लिए प्रश्न संपादित किया। – tihom