
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:
- A Comprehensive Guide to Live Betting and Streaming with Most bet - July 18, 2025
- Alev Casino ile farklı temalı oyunlar seni bekliyor - July 17, 2025
- Mostbet tarafindan sunulan kredi/banka kartlari - July 17, 2025
- Yükleme rehberi – Kraken Casino konusunda sık sorulanlar 🛡️ - July 16, 2025
- MostBet Secimleri ile Ugurlu Bahis Stratejileri - July 16, 2025
- Alev Casino ile kazancına ⭐ kazanç kat - July 16, 2025
- Betting Platform by Most Bet: Your Guide to Winning Big - July 16, 2025
- Live tikishlar orqali ko’proq yutuqlar: Mostbet sizga yordam beradi - July 16, 2025
- Alev Turkiye – Canlı Bahis ve Slot Oyunlarında Yuksek Kazanc - July 15, 2025
- Lüks Casino canlı casino keyfini cebine getiriyor 💥 - July 15, 2025
Leave a Reply