पीटर वास्तव में सही उत्तर पोस्ट किया। लेकिन मैं विस्तृत करने की कोशिश करूंगा:
मुझे लगता है कि आप AJAX की मूल अवधारणा से परिचित हैं? आइए कहें कि आप एजेक्सी फैशन में टिप्पणियां बनाने में सक्षम होना चाहते हैं। में आप के माध्यम से अपने CommentsController
में पोस्ट अनुरोध का जवाब हो सकता है रेल:
def create
@comment = Comment.new(params[:comment])
respond_to do |format|
render.js
end
end
इसका मतलब यह है कि अगर ग्राहक (jQuery/जावास्क्रिप्ट के माध्यम से) से एक ajax अनुरोध CommentsController
को प्रस्तुत यह प्रारूप पहचान लेंगे (.js
) और _create.js.erb आंशिक के साथ प्रतिक्रिया दें। आंशिक तो कुछ इस तरह से नई टिप्पणी प्रस्तुत करना होगा: कुछ बुराई उपयोगकर्ता युक्त (दुर्भावनापूर्ण) जावास्क्रिप्ट जायें जो कि एक टिप्पणी प्रस्तुत कर सकते हैं:
$('.comments').append("<%=j render @comment %>");
अब j या escape_javascript विधि को पाने के लिए अपने पृष्ठ पर क्रियान्वित किया जा जब तक आप j
विधि का इस्तेमाल करते हैं जो
पलायन कैरिएज रिटर्न और जावास्क्रिप्ट के लिए सिंगल और डबल उद्धरण खंडों।
और इसलिए ब्राउज़र में कोड के निष्पादन को रोकता है।
ध्यान दें कि यदि आप जो भी प्रतिपादन कर रहे हैं वह उपयोगकर्ता नहीं बनाया गया है, तो संभवतः आप उन वर्णों से बचना चाहते हैं जो जावास्क्रिप्ट सुरक्षित नहीं हैं क्योंकि अन्यथा आपका जावास्क्रिप्ट टूट सकता है। – DaveMongoose