me gusta mucho más que tener aspecto de rendimiento de la disposición de la siguiente manera:
<html>
<!-- other stuff -->
<body>
<!-- other stuff -->
<%= yield :javascript %>
</body>
</html>
Luego, en una vista en la que se puede escribir:
<% content_for :javascript do %>
<script type='text/javascript'>
function doMagic() {
//Mind-blowing awesome code here
}
</script>
<% end %>
<!-- More view Code -->
<%= render :partial => "sub_view_with_javascript" %>
Y en el _sub_view_with_javascript.html.erb parcial también se puede escribe:
<% content_for :javascript do %>
<script type='test/javascript'>
function DoMoreMaths() {
return 3+3;
}
</script>
<% end %>
Mi razonamiento para este enfoque es que el rendimiento y content_for están en diferente nt archivos. No es DRY poner la etiqueta del script en cada content_for pero permite que el resaltador de sintaxis reconozca el cambio de idioma en cada archivo y me ayude allí.
Si tiene múltiples content_for llamadas en un solo archivo al mismo símbolo (en nuestro caso,: javascript) consideraría consolidarlas todas en la superior, pero es perfecto para usar con parciales.
Y HTML está muy contento de tener tantos bloques de scripts como desee. El único posible problema es cuando se trabaja con el código en las herramientas de desarrollo como Firebug, toma un poco más de tiempo encontrar el bloque de script adecuado para su función. Esto solo me sucede cuando necesito establecer un punto de interrupción de JavaScript para depurar.
¿Cuál es su caso de uso? ¿Esto es js generado dinámicamente? – jonnii
¿Cuál sería un ejemplo de js generado dinámicamente? A veces necesito pasar variables de una vista a una función de JavaScript en tiempo de ejecución. – TenJack