En fait, il suffit de ne pas utiliser HAML pour cette seule déclaration. Par exemple, supposons que vous faites quelque chose comme ça dans HAML en ce moment :
%script#template(type="text/html")
%div{ :id => "box_<%=id%>" }
Au lieu de cela, faites :
%script#template(type="text/html")
<div id="box_<%=id%>"></div>
Il interprétera correctement la balise script comme HAML, puis, puisque vous n'utilisez pas de balise %
, #
etc. pour commencer la ligne suivante, il interprétera cette ligne comme du texte brut et la transmettra. Cela semble bien fonctionner pour moi et j'ai un cas très similaire au vôtre. La seule chose que j'ai faite, c'est de changer la balise jQote (le moteur de création de modèles que j'utilise pour ma création de modèles en Javascript) de la suivante %
a $
avec cette déclaration Javascript dans le head
de la page :
%script( type="text/javascript")
$(function() { $.jqotetag( '$' ); });
De cette façon, le %
n'embrouillent pas l'interprète de Ruby. Donc l'exemple final serait :
%script#template(type="text/html")
<div id="box_<$=id$>"></div>
Bonne chance !