Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

227
Views
TypeError no capturado: $(...).barrating no es una función - Rails / Turbolinks

Estoy usando Barrating Javascript de https://antennaio.github.io/jquery-bar-rating/ en mi aplicación Rails que usa Turbolinks para cargar la página.

Incluí barrating.min.js en mis javascripts y lo estoy cargando en mi application.js usando //=require - todo se carga correctamente.

Luego tengo ratings.js ubicado en mi área de activos/javascripts que hace la llamada para crear la barra jquery en la página.

 document.addEventListener("turbolinks:load", function(event) { console.log('page is fully loaded'); //$('#user_track_rating_drums').barrating("destroy"); $('#user_track_rating_drums').barrating({ theme: 'bars-horizontal', reverse: true, initialRating: 1, onSelect: function(value, text, event) { if (typeof(event) !== 'undefined') { if (value >= 8) { document.getElementById('average_drums_class').className = 'green'; } else if (value >= 6) { document.getElementById('average_drums_class').className = 'yellow'; } else if (value >= 3) { document.getElementById('average_drums_class').className = 'orange'; } else { document.getElementById('average_drums_class').className = 'red'; } // rating was selected by a user console.log(event.target); } else { // rating was selected programmatically // by calling `set` method } } }); })

Todo funciona bien en la carga de la primera página / o si actualiza manualmente la página, pero si navega desde la página, que usa Turbolinks, cuando vuelvo en lugar de que las barras se creen nuevamente, aparece un TypeError no detectado: $ (... ).barrating no es una función.

Intenté llamar a la función barrating desde la consola para adjuntarla a otra cosa en la página, pero no se encuentra.

Revisé la página y barrating.min.js todavía está incluido en HEAD.

Intenté destruirlo antes de volver a crearlo, pero no tuve suerte. Creo que es un problema con la carga de la página con turboenlaces.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Así que logré resolverlo finalmente después de algunas pruebas y errores.

Eliminé el código para llamar y adjunté el barrating del área de activos/javascripts y lo coloqué en línea directamente en la página requerida.

Ahora se dispara sin errores en la primera carga y en las subsiguientes.

No estoy del todo seguro de cuál es el problema de tenerlo en el área de activos, pero esto lo resuelve

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!