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

236
Visualizações
Ruby on Rails: ¿método preferido para llamar datos a javascript?

Caso de uso: tengo una vista estática que muestra datos del controlador (datos de registro de la aplicación). Solo necesito obtener estos datos una vez, y deben pasarse al javascript de la vista (estoy usando una biblioteca js pivotable).

¿Cuál es mejor para llamar datos de nuestro controlador al javascript de nuestra vista?

Opción 1:

 var data = JSON.parse('<%= @result %>');

Opcion 2:

 $.ajax({ url: "<%= path_to_data %>", type: "GET", dataType: "json", data: JSON.stringify(table), });

¿Cuáles son los pros y los contras de las opciones? Un problema es que con la opción 1, Rails escribe @result en el javascript que, con grandes datos, parece llevar mucho tiempo escribir en el script (además de visualmente poco atractivo cuando se mira el javascript renderizado). La opción 2, sin embargo, requiere una llamada GET adicional a nuestro controlador.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Opción 3.

No use la interpolación erb en su JS en absoluto: use atributos de datos para pasar información desde la vista.

 <div id="graph-module" data-source-url="<%= path_to_data %>"> ... </div>
 let promise = $.getJSON($('#graph-module').data("url")); promise.done(function(data){ // do something with the data });

Sí, esto creará una solicitud GET adicional, pero vale la pena en mis libros para evitar mezclar los dominios del lado del servidor y del lado del cliente en una papilla, que es algo que Rails hace con demasiado entusiasmo.

Esto mantiene su JS en la tubería de activos (o webpacker) donde se puede minimizar, almacenar en caché e implementar a través de un CDN en lugar de una sopa JS/ERB que cambia según la solicitud actual.

También es más fácil de depurar, razonar y, en general, escribir un buen código cuando está en un archivo separado y no depende de ser analizado a través de otro idioma. Le permite usar herramientas de pelusa como JSLint.

Si desea usar la opción 1 de manera significativa, debe usar un global en lugar de var .

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