Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

253
Vistas
Rails + Vue: Accediendo a la variable de instancia

Tengo una vista simple, pero la Purchase belongs to :client . Por lo tanto, para acceder a las purchases , necesito proporcionar un client_id . :

 $(document).ready(function() { var purchases = new Vue({ el: '#purchases', data: { purchases: [] }, ready: function() { var that; that = this; $.ajax({ url: 'clients/' + CLIENT_ID + '/purchases.json', // problem success: function(res) { console.log(res) that.purchases = res; } }); } }); });

¿Cómo accedo al client_id en la solicitud ajax? Intenté <%= @client.id %> pero aparece el error id de undefined method para nil:NilClass`.

¿Cómo paso esa variable?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La respuesta a la pregunta es que no puede acceder a una variable de instancia directamente en una función js. Esto se debe a que js es un lenguaje del lado del cliente que solo se ejecuta en su navegador y ruby/rails es un lenguaje del lado del servidor.

La única forma en que puede acceder a la variable en js es pasándola como datos html. Por ejemplo, como un campo oculto en su archivo html.erb correspondiente.

 <%= hidden_field_tag('client_id', @client_id) %>

y accediendo a ella como

 client_id: $('#client_id').val()

en el archivo js.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda