एक्शन व्यू में escape_javascript विधि एस्ट्रोफ़े '
बैकस्लैश एस्ट्रोफ़े \'
के रूप में बचती है, जो JSON के रूप में पार्स करते समय त्रुटियां देती है।Rails escape_javascript एकल उद्धरण से बचकर अमान्य JSON बनाता है
{"message": "I'm here"}
लेकिन, <%= escape_javascript("I'm here") %>
आउटपुट "I\'m here"
, अमान्य JSON में जिसके परिणामस्वरूप:
उदाहरण के लिए, संदेश "मैं यहाँ हूँ" मान्य JSON जब के रूप में मुद्रित है
{"message": "I\'m here"}
वहाँ एक है इसे ठीक करने के लिए पैच, या JSON पर प्रिंट करते समय स्ट्रिंग से बचने का एक वैकल्पिक तरीका?
यह काम नहीं करता है यदि स्ट्रिंग उदाहरण के लिए HTML है और उदाहरण के लिए स्ट्रिंग में डबल कोट्स हैं। – margusholland
@margusholland - सच नहीं - .to_json पूरी तरह से डबल कोट्स से बचने के लिए हैंडल – Neall
'" foo'bar ".to_json' आउटपुट' "foo'bar" ' –