2008-11-25 4 views

Répondre

1

Le code pour le drop_receiving_element est

def drop_receiving_element(element_id, options = {}) 
    javascript_tag(drop_receiving_element_js(element_id, options).chop!) 
end 

javascript_tag est ce qui ajoute les balises de script, il semble donc que vous devriez pouvoir les laisser vous-même, et entrez-le vous-même.Note: Il est peut-être une méthode privée, auquel cas il suffit d'utiliser

send(:drop_receiving_element_js, element_id, options).chop! 
0

Je ne sais pas ce que vous voulez acheve (les assistants de script de travail est pour écrire des scripts dans les balises). Mais si ce que vous voulez est de placer le code ailleurs, par exemple au bas de la page puisque le chargement de javascript en dernier fait apparaître la page plus rapidement, vous pouvez utiliser content_for.

<% content_for :inline_javascript do %> 
    <%# Script helpers here %> 
<% end %> 

puis dans le fond (ou partout où vous le souhaitez), vous placez cette ligne:

<%# Include tags for other Js code the inline scripts rely on above here %> 
<%= yield :inline_javascript %> 

Cela ne fonctionne pas pour le contenu asyncronous (ajax), mais d'autre part l'autre L'inclusion de script est déjà chargée lorsque vous mettez à jour une page avec du contenu ajax.

(Vous pouvez écrire votre propre aide qui, en fonction du type de demande, utilise la variable content_for ou écrit la balise de script en ligne. Je l'ai fait un avant, je peux essayer de localiser si vous me voulez)

Questions connexes