मेरे वर्तमान रेल ऐप में मैं ajax uploader लाइब्रेरी का उपयोग कर रहा हूं जिसके लिए आपको जेसन {success:true}
के साथ प्रतिक्रिया देने की आवश्यकता है ताकि फ़ाइल सफलतापूर्वक अपलोड की जा सके।रेल जेएस प्रतिक्रिया, दोनों स्थिति और टेम्पलेट प्रस्तुत करते हैं?
मेरे ऐप में फ़ाइलें छवियां हैं, और अपलोड के बाद मैं इसे पृष्ठ में जोड़ना चाहता हूं। आम तौर पर मैं कुछ ऐसा करना होगा: create.js.erb
रूप
respond_to do |format|
format.html { redirect_to @resource, :notice => 'Created.' }
format.js
end
ऊपर के उदाहरण में मेरी जे एस उत्तर उचित टेम्पलेट प्रस्तुत करना होता है, इस तरह के जो की तरह कुछ कह सकते हैं ...
$('#resources').append('<%= escape_javascript(render '@resource') %>');
यह मैं कैसे है अतीत में अजाक्स टिप्पणियों आदि जैसी चीजें। अब, मेरी respond_to
ब्लॉक काम कर अपलोड करने वाले पाने के लिए वर्तमान में इस करता है:
format.js { render :json => { :success => true } }
इस अपलोडर काम करता है, लेकिन मेरे जैसे मैं सामान्य रूप से एक अजाक्स प्रतिक्रिया के साथ होता पेज को प्रदान की गई partials जोड़ने रोकता रहा है।
मेरा सवाल है, क्या दोनों को पूरा करने का कोई तरीका है? यदि नहीं, तो आप सफलतापूर्वक बनाए जाने के बाद प्रस्तुत वस्तुओं के साथ पृष्ठ को कैसे पॉप्युलेट करेंगे?
यह विचार काम करता है जोड़ें। मुझे 'render_to_string' के बारे में पता नहीं था, लेकिन परीक्षण में मैंने पाया कि मैं आंशिक रूप से पुनर्प्राप्त करने के लिए कॉलबैक में' .getScript' का भी उपयोग कर सकता हूं। आपकी विधि क्लीनर है। धन्यवाद! – Andrew
एक नोट ... डिफ़ॉल्ट रूप से 'escape_javascript' नियंत्रक के लिए उपलब्ध नहीं है, और इसकी आवश्यकता नहीं है क्योंकि' रेंडर: जेसन' विधि वैसे भी करता है। – Andrew
शांत, खुशी है कि यह मदद करता है। यह समझ में आता है कि 'escape_javascript' वहां काम नहीं करता है, मुझे नहीं पता कि मैं क्या सोच रहा था। उत्तर पर प्रतिक्रिया के लिए धन्यवाद – danivovich