Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

228
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda