J'ai une demande 2.3.9 rails que je migration vers des rails 3.comment passer des chaînes de html_safe à js rendent partials
Comme presque tout le monde, je vais avoir un problème de rendu des chaînes, spécialement des scripts qui JQUERY étaient en ligne. Avant, quelqu'un me dit que dans les rails 3, ça a changé, je ne peux pas réécrire tous mes scripts maintenant. Je vais le faire, il sera prévu, mais pour l'instant, je veux que ça marche.
Aller à ma question:
j'ai un contrôleur avec la pièce de code suivante
respond_to do |format|
format.js { render :partial=>'update'}
format.html { head 406 }
end
Mon _update.js.erb a un mélange entre JS et ERB:
<% if MyClass.count > 0 %>
$('.show_object:visible').hide();
<%else%>
if($('.show_object').css('display') == 'none'){
$('.show_object').blink({times: 7})
}
<%end%>
Il fonctionne dans les rails 2.3.9, mais pas dans Rails 3. Ma question sont:
- devrais-je mettre autour de tous mes jquery un appel html_safe?
- Il y a un moyen dans le contrôleur de marquer un partiel comme html_safe?
Votre sortie partielle est-elle réellement échappée au format HTML? – Jacob
oui. Et ce n'est pas html_safe. Je l'ai résolu comme je l'ai expliqué dans ma propre réponse (voir ci-dessous) –