2010-08-26 4 views
9

मैं एक रेल कार्रवाई में परीक्षण करने की कोशिश कर रहा हूं जो पोस्ट बॉडी में कच्चे जेसन लेता है। अगर मैं सामग्री-प्रकार के साथ कर्ल करता हूं: एप्लिकेशन/जेसन हेडर सेट, रेल पैराम को सही ढंग से पार करती है।आप सामग्री-प्रकार (और अन्य शीर्षलेख) कैसे निर्दिष्ट करते हैं और आरएसपीसी रेल नियंत्रक परीक्षण में शरीर का अनुरोध करते हैं?

आप अनुरोध शरीर और शीर्षलेख सीधे आरएसपीसी नियंत्रक परीक्षण में कैसे सेट करते हैं?

उत्तर

9

आरएसपीसी 1.3 में आप "अनुरोध" चर पर काम कर सकते हैं। कुछ इस तरह आप के लिए काम करना चाहिए:

request.env['CONTENT_TYPE'] = 'application/json' 
post :method_name 
+0

यह पूरी तरह से काम किया, सेटिंग्स के साथ संयुक्त में पैरामीटर request.env ['RAW_POST_DATA']। धन्यवाद। –

+2

2 साल बाद (2012-नवंबर -02), यह अब और काम नहीं करता है। क्या किसी के पास 'json' होने का अनुरोध करने के लिए एक अद्यतन तरीका है? मैं सेटिंग कर रहा था: प्रारूप =>: जेसन, लेकिन यह बिल्कुल ठीक नहीं है कि मेरे ग्राहक क्या कर रहे हैं और मैं एपीआई दस्तावेज़ बनाने के लिए एफडीओसी का उपयोग करने की भी कोशिश कर रहा हूं जिसमें प्रत्येक एपीआई में यह अतिरिक्त पैरामीटर शामिल है (हम ग्राहकों को स्वीकार करते हैं हेडर सेट करने के लिए 'आवेदन/जेसन' के लिए)। इस समस्या को हल करने के लिए – sorens

+0

देखें [यह उत्तर] (http://stackoverflow.com/a/4039492/349423)। – sorens

0

मैं उपयोग पोस्ट: METHOD_NAME, {: प्रारूप =>: json, ... अन्य पैरामीटर डेटा}

+2

यह 'स्वीकार करें' शीर्षलेख सेट करता है, न कि 'सामग्री-प्रकार'। –

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