Ich arbeite an einem Schienenprojekt. Mit dem Tag observe_field nehme ich Text in einen Textbereich, verarbeite ihn in einem Steuerelement und zeige das Ergebnis in einem div an (sehr ähnlich der Vorschau im Stack-Überlauf). Alles funktioniert gut, bis ich bestimmte Sonderzeichen eintippe.Probleme beim Übergeben spezieller Zeichen mit observe_field
- ? => Bewirkt, dass die Variable nicht in den params gefunden zu werden Objekt
- (Pfund) => verursacht eine ungültige Authentizität Fehler
- % => die div-Stationen vom aktualisiert
- & => alles, was nach dem & ist nicht mehr in die Variable auf dem Server übergeben.
Gibt es eine Möglichkeit, dies zu lösen?
--- Codebeispiel ---
Dies ist die Ansicht. ('Postbody' ist ein Textbereich)
<%= observe_field 'postbody',
:update => 'preview',
:url => {:controller => 'blog', :action => 'textile_to_html'},
:frequency => 0.5,
:with => 'postbody' -%>
dies die Steuerung, die
def textile_to_html
text = params['postbody']
if text == nil then
@textile_to_html = '<br/>never set'
else
r = RedCloth.new text
@textile_to_html = r.to_html
end
render :layout => false
end
genannt wird, und das ist das Javascript, das erstellt wird:
new Form.Element.Observer('postbody', 0.5, function(element, value) {new Ajax.Updater('preview', '/blog/textile_to_html', {asynchronous:true, evalScripts:true, parameters:'postbody=' + value + '&authenticity_token=' + encodeURIComponent('22f7ee12eac9efd418caa0fe76ae9e862025ef97')})})