Je suis nouveau sur Rails et j'ai un problème assez simple avec l'appel de fonctions javascript à partir d'une vue. Dans Rails 2 Je ferais ...Appel des fonctions javascript à partir de view in Rails 3
= javascript_tag "name(arguments)"
où la fonction javascript « nom » a été localisé dans mon dossier application.js. Cependant, cela ne semble pas fonctionner dans Rails 3? Ou est-ce que je manque quelque chose? J'ai cherché Google pendant un certain temps sans trouver de réponse.
MISE À JOUR:
OK, alors j'ai regardé à la source des deux façons différentes (en utilisant le javascript_tag et le filtre javascript haml) comme l'a suggéré. Et c'est très étrange parce que la source html semble être identique? Mis à part une différence dans les guillemets doubles et simples dans la déclaration du type de script.
PREMIER: utilisant le javascript_tag qui ne fonctionne pas
= javascript_tag "number_interval(#{fact.current_value}, #{fact.growth_per_second}, #{fact.decimal_number}, '#{dom_id(fact, "number")}'"
... Source
<div id='number_number_interval_727'>loading</div>
<script type="text/javascript">
//<![CDATA[
number_interval(6952596670.36814, 2.33002440293917, 0, 'number_number_interval_727'
//]]>
</script>
DEUXIÈME: utilisant le haml javascript filtre et fonctionne
:javascript
number_interval(#{fact.current_value}, #{fact.growth_per_second}, #{fact.decimal_number}, '#{dom_id(fact, "number")}')
... Source
<div id='number_number_interval_727'>loading</div>
<script type='text/javascript'>
//<![CDATA[
number_interval(6952596917.02179, 2.33002440293917, 0, 'number_number_interval_727')
//]]>
</script>
Eh bien, je suppose que je vais juste coller avec le filtre haml!
Wow ... ne peux pas croire que j'ai manqué celui-là :) – kbjerring