2012-08-23 11 views
9

अरे मैं सोच रहा हूँ क्या रेल में विधि प्रस्तुत करना के लिए स्थान का विकल्प है के लिए स्थान का विकल्प है। डॉक्स यहाँ http://guides.rubyonrails.org/layouts_and_rendering.html कहता है:रेल: क्या विधि प्रस्तुत करना में

": स्थान विकल्प HTTP स्थान हैडर सेट करने के लिए: आप उपयोग कर सकते हैं"

लेकिन मुझे नहीं पता कि आपने ऐसा क्यों होता है, या क्या आप के लिए इसका उपयोग होता है।

उत्तर

12

असल location विकल्प अनुरोध पर कार्रवाई करने के भाग के रूप में एक नया संसाधन पर पुन: निर्देशित किया जाता है। उदाहरण के लिए,

render :xml => post.to_xml, :status => :created, :location => post_url(post) 

प्राप्तकर्ता कि इस पद के लिए एक एक्सएमएल फ़ाइल बनाई गई है कह रहा है और आप post_url(post) से मिल जाएगा। इसलिए GO;)

render विधि

... ... ... 
if location = options[:location] 
    response.headers["Location"] = url_for(location) 
end 
... ... ... 

प्रतिक्रिया ऑब्जेक्ट में Location विकल्प सेट करते समय आप Location हैडर यहाँ http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30 के बारे में जानकारी प्राप्त कर सकते करके करता है।

+0

ओह ठीक। तो उदाहरण के लिए अगर ग्राहक सर्वर के लिए एक ajax कॉल किया था, और फिर जवाब में, स्थान परिभाषित किया गया था कुछ यूआरएल, तो ajax के लिए (प्रतिक्रिया के अनुसार) माना जाता है यूआरएल स्थान द्वारा निर्दिष्ट जाओ। अन्यथा यदि कोई स्थान नहीं है, तो – hajpoj

+0

किया गया हाँ ... बिल्कुल !! हालांकि मैंने अजाक्स कॉल के साथ प्रयास नहीं किया लेकिन मुझे ऐसा काम करना चाहिए !! – Samiron

+0

इसे धन्यवाद मिला! – hajpoj

0

Location header पेज रीडायरेक्ट करने के लिए है।

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