Una de las muchas ventajas que tiene ruby on rails es que junta todos los archivos de javascript dentro de la carpeta de assets en uno solo, haciendo mucho más rápida la carga y transferencia cuando se encuentra en un entorno de producción. La desventaja de juntar todos los archivos es que en algunos casos podríamos querer que un javascript se ejecute únicamente en una página específica, o sea exclusivamente para un controller y para una página específica. Hay varias formas de resolver este problema, pero hasta el momento la más sencilla que he encontrado es ocupando la gema LoadJS https://github.com/guidomb/loadjs Para ocuparla basta con agregar la gema al gemfile
gem 'loadjs'
Luego realizar un bundle y reiniciar el servidor. El siguiente paso es cambiar la linea de código del layout (o layouts) donde está la etiqueta body, por la siguiente:
<body data-controller="<%= controller.controller_path %>" data-action="<%= controller.action_name %>">
Dentro de asseets/javascript/application.js hay que cargar loadjs
//= require loadjs
y finalmente, el javascript que queramos que se ejecute específicamente en un vista y una acción, tenemos que envolverlo con
load("foo#bar", function (controller, action) { alert("Hello World!"); });
Obviamente cambiando foo#bar por el controller#accion correspondientes. Existe sólo un gran contra en esta solución, que expone el nombre de los controller y de las acciones en el código, no es grave pero es bueno que estés consciente de la información que estas exponiendo.
Advertencia: Turbolinks no será tu amigo, la gema de jquery-turbolink te ayudará en el proceso:
- Pin Up Casino Oyna Türkiye, Pinup’un Resmi Web Sites - April 3, 2024
- All The Classic Pinup Positions For Vintage Elegance Photoshoot - April 3, 2024
- وان إكس بت ويكيبيدي - April 3, 2024
- ️ أفضل مواقع المراهنات الرياضية احصل على أفضل مكافآت الترحي - April 3, 2024
- ️ أفضل مواقع المراهنات الرياضية احصل على أفضل مكافآت الترحي - April 3, 2024
- 1win Bahis Şirketinin Resmi Web Sitesi 1win 2023 Online Spor Bahisleri, 1win Bahis Şirketine Giriş Yapın - April 3, 2024
- “المراهنات الرياضية أونلاين 1xbet ᐉ شركة المراهنات 1xbet تسجيل الدخول ᐉ 1xbet Co - April 2, 2024
- Pin Upward Casino Giriş, Üyelik, İndirme, Promosyonla - March 31, 2024
- Pin Up On Line Casino Türkiye Giriş Yapın Ve 0 Bonus Kazanı - March 31, 2024
- تنزيل 1xbet => جميع إصدارات 1xbet Sixth Is V 1116560 تطبيقات المراهنات + مكافأة مجاني - March 31, 2024
Leave a Reply