J'aime l'idée de séparer les fonctionnalités et cela semble être la voie de l'avenir.Une chose que je ne comprends pas à propos de javascript discret
Mais j'ai l'habitude d'intégrer javascript dans des boucles dans un langage embarqué comme Rails ERB ou PHP, où je peux utiliser l'identifiant d'un objet particulier comme référence dans le javascript.
exemple Rails:
<% @comments.each do |comment| %>
<div id="comment_<%= comment.id %>">
<%= comment.text %>
<% link_to_function "Reply", "$('comment_#{comment.id}').insert(\"#{escape_javascript(render :partial => "_form", :locals => {:comment => comment})}\", {position: 'bottom'});" %>
</div>
<% end %>
Ce n'est pas la seule fois que je l'ai fini par vouloir utiliser des méthodes Ruby soit à l'intérieur de javascript. Je voudrais peut-être utiliser des constantes ou appeler d'autres méthodes de rubis sur un objet dans une boucle user.enabled?
ou user.full_name
, ou rendre partials avec ces objets, etc.
Alors comment est-ce censé être accompli si tout le javascript est dans une autre fichier ou en dehors de la boucle? Je comprends que vous pouvez itérer à travers un tas de divs en javascript en utilisant des sélecteurs CSS, mais cela ne me permet pas d'appeler les méthodes ruby sur les objets.
Qu'est-ce qui me manque? Merci!
En utilisant des méthodes Ruby bibliothèques ou fichiers javascript externes signifie que vous ne pouvez utiliser ces bibliothèques ou fichiers qu'avec des applications Ruby. Envisager de regarder jQuery; étudier la façon dont jQuery résout ce problème en utilisant le paramétrage. –
Je vais brancher mon propre blog sur le sujet: http://whatsthepointy.blogspot.com/2010/07/wallflower-unobtrusive-jquery.html – Pointy