Je travaille sur un projet de rails. En utilisant le tag observer_field, je suis en train de saisir du texte dans une zone de texte, de le traiter dans un contrôle et d'afficher le résultat dans un div (très similaire à l'aperçu dans le débordement de pile). Tout fonctionne bien jusqu'à ce que je tape certains caractères spéciaux.Problèmes lors du passage de caractères spéciaux avec observer_field
- ? => Fait que la variable ne se trouve pas dans les params objet
- (livre) => provoque une erreur d'authenticité invalide
- % => arrête la div d'être mis à jour
- & => tout après la & est n'est plus passé dans la variable sur le serveur.
Existe-t-il un moyen de résoudre ce problème?
--- échantillon de code ---
c'est la vue. ('Postbody' est une zone de texte)
<%= observe_field 'postbody',
:update => 'preview',
:url => {:controller => 'blog', :action => 'textile_to_html'},
:frequency => 0.5,
:with => 'postbody' -%>
c'est le contrôleur qui est appelé
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
et c'est le javascript qui est créé:
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')})})