2010-02-02 11 views
8

क्या क्वेरीस्ट्रिंग को कैप्चर करने और फॉर्म पोस्ट के हिस्से के साथ भेजने का कोई तरीका है? मैं रेल 2.3.5 का उपयोग कर रहा हूं और मेरा उपयोगकर्ता उस पृष्ठ पर है जिसमें एकाधिक क्वेरीस्ट्रिंग पैरामीटर हैं। इस पेज पर, वे एक फॉर्म जमा करने जा रहे हैं। पोस्ट प्राप्त करने वाली कार्रवाई के अंदर, मैं जानना चाहता हूं कि उन क्वेरीस्ट्रिंग पैरामीटर क्या थे। जाहिर है, वे पद के हिस्से के रूप में नहीं भेजे जाते हैं। तो मुझे वास्तविक रूप मानों की आवश्यकता है, साथ ही क्वेरीस्ट्रिंग पैराम जो पृष्ठ पर थे जब उपयोगकर्ता ने फॉर्म सबमिट किया था।फॉर्म पोस्टिंग के हिस्से के रूप में क्वेरीस्ट्रिंग पैराम भेजें

मुझे यकीन है कि मैं कुछ गंदा जावास्क्रिप्ट लिख सकता हूं जो क्वेरीस्ट्रिंग पैरा को फॉर्म पर छिपे हुए फ़ील्ड में फेंक देगा ताकि वे उपलब्ध हों, लेकिन यह बदसूरत लगता है। मेरा गुगलिंग बहुत ज्यादा नहीं हुआ है, जो मुझे आश्चर्यचकित करता है अगर मैं इस सब गलत के बारे में सोच रहा हूं। मामलों को और खराब बनाने के लिए, मैं एक रेल नौसिखिया हूँ।

मुझे सही दिशा में जाने के लिए किसी भी पॉइंटर्स या विचारों की सराहना करें।

उत्तर

9

मेरा एक दोस्त ने मुझे पता चला कि मैं क्या लगता है कि कोई आसान तरीका है।

+0

हाँ यह बेहतर है क्योंकि यह वास्तव में यूआरएल क्वेरीस्ट्रिंग – jpwynn

+0

बनाते हैं सावधान रहें: ब्राउज़र GET अनुरोधों के लिए क्वेरी स्ट्रिंग को अनदेखा करते हैं, उस स्थिति में आपको प्रत्येक इनपुट के लिए छिपे हुए फ़ील्ड बनाना होगा। – fny

+3

@ फ़ारज़ के बयान को स्पष्ट करने के लिए: ब्राउज़र ** क्रिया ** क्वेरी में क्वेरी स्ट्रिंग को अनदेखा करते हैं जो जीईटी विधि के साथ सबमिट करते हैं –

5

पसंदीदा तरीका छिपा फ़ील्ड का उपयोग करना होगा। मैंने कोशिश नहीं की है, लेकिन मुझे लगता है कि आप *_path या *_url सहायक के भीतर अतिरिक्त क्वेरी स्ट्रिंग पैरामीटर निर्दिष्ट कर सकते हैं। कुछ की तरह:

<% form_tag params.merge(:action=>"someAction") do %> 

हैश form_tag था चाल पूरी तरह से बनाने के लिए आवश्यक में पैरामीटर विलय:

<% form_for(@post, 
      :url => post_path(@post, :foo => 'foo', :bar => 'bar')) do |f| %> 
    ... 
<% end %> 
+0

अगर मैं संपादन के लिए साझा फार्म के लिए इस का उपयोग और कार्यों बनाना चाहते हैं क्या होगा करना है? – Stiig

0
<% form_tag params.merge(:action=>"someAction") do %> 

- कोई मार्ग मैचों [पोस्ट]

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