Ich habe keine Probleme mit typischen AJAX-Aufrufe von und nach Rails (3) mit JSON-Objekten und jQuery-Rails (jQuery-Bibliothek plus eine spezielle rails.js-Datei).Behandlung von JSON in JS/ERB-Vorlage in Rails 3
In einem Controller möchte ich jedoch einige JSON in einem Erb-Template (create.js.erb) nach einem AJAX-Aufruf zurückgeben.
Ich habe jede Kombination von Dingen im Controller versucht (@ object.to_json, '[{"content": "Hallo Welt"}]' usw.) und in der Vorlage selbst (JSON.parse() , einfache Anführungszeichen, doppelte Anführungszeichen, etc.), aber das Objekt hält weiter so machen:
'[{"groups":{},"created_at":"2010-09-21T03:49:34Z" ...
und als Ergebnis, mein jQuery-Code nicht analysieren kann und ich Fehler bekommen.
Wie muss ich mein Objekt im Controller vorbereiten, und welche Erb-Syntax brauche ich in der Ansicht, damit es als gültiges JSON-Objekt gerendert wird?
Vielen Dank!
Vorsicht: Aufruf html_safe ohne Flucht in eine XSS-Schwachstelle führen kann, wenn Sie‘ Wiedereinbetten des Ergebnisses in ein Skript-Tag. – John
Überprüfen Sie diese [Railscast] (http://railscasts.com/episodes/204-xss-protection-in-rails-3), um zu sehen, wie man 'html_safe' sicher verwendet – Subtletree
Danke! Das ist hilfreich für mich. – rainstop3