Utilser Ruby dans le filtre :javascript d'HAML
Un joli titre bingo blabla, l'air de rien !
Voici une mini note qui va dans le sens de ce que je veux essayer de faire maintenant avec xumi.fr : partager autant que possible des solutions, parfois pourtant très simples, que j'ai pu trouver sur le net au fil de mes développements (et souvent en anglais, si ça peut aider les débutants, tant mieux).
Vous utilisez Rails, avec HAML ? C'est cool hein ? Il vous est peut-être arrivé de vouloir modifier le Javascript de vos vues, et d'avoir eu un peu de mal à trouver la bonne syntaxe.
Tout ce qu'il faut retenir : comme pour les String en Ruby, pour interpréter du code Ruby dans votre Javascript vous devez utiliser la syntaxe #{ ... }
Vous l'avez peut-être déjà utilisé dans des chaine de caractères en Javascript, c'est souvent indispensable, mais il est bon de savoir que vous pouvez aussi l'étendre pour des blocs de code plus complexes, contenant de la logique.
Voici un exemple, et je pense qu'on ne pourra pas faire plus clair :
:javascript
var actions = #{ if my_condition && another_one User.all.to_json else 'null' end };
Produira :
<script>
//<!--[CDATA[
var actions = [{ ... vos objets au format json ... }];
//]]>
</script>