Uso de Gon Gem con Javascript y Rails

El uso de datos Rails como parte de javascript es una necesidad muy habitual, especialmente para aplicaciones Javascript como Angular, Ember y SPA.

Si se trata de pocos datos, podemos asignarlos directamente a las variables ruby.

Desde la vista de los raíles:
Ej:-

HTML:

<input id="usuario" type="oculto" value="" />;
$('#user').val();


Atributo de datos HTML:

Cargando ..
;
Cargando ..

$('#posts').data('posts');


De los controladores de carriles mediante Gon:

Los escenarios anteriores parecen no ser impecables ni sensatos, sobre todo cuando necesitamos más información en lugar de sólo algunos datos.

En realidad, hay una buena solución para pasar variables Rails de controladores a javascript es decir gon gem.

Gon nos ayuda a satisfacer nuestras necesidades de forma más fácil y limpia.


Configuración

Es bastante fácil configurar gon gem.

Añade la gema 'gon' al Gemfile y ejecuta bundle install
Inserte ; en la etiqueta head de layouts/application.html.erb. Puede colocarlo en cualquier lugar que desee utilizar. Moverlo a la vista en particular si desea utilizar sólo en esa vista en particular.

Establecer variables desde el controlador/vista (principalmente desde los controladores)

gon.currentUser = @usuario
gon.title = 'Ejemplo Gon'

#or

gon.push({
	usuarioactual: @usuario,
	title: 'Ejemplo Gon''
})

Así, en javascript podemos usarlas como variables normales

console.log(gon.usuarioactual);
console.log(gon.title);

Notas:
Podemos modificar el espacio de nombres de la variable. Esto significa que podemos usar app.variableName en lugar de gon.variableName. Pero tenemos que especificar el espacio de nombres cuando se incluye.

;

Existen otras listas de opciones que podemos configurar para gon(https://github.com/gazay/gon/wiki/Options).
Gon puede utilizarse con jbuilder y rabl(https://github.com/gazay/gon/wiki)
Empuje al menos una variable a gon para evitar gon en error no definido de lo contrario validar si está definido o no.
Las variables Gon pueden recargarse desde rails utilizando gon.watch. Consulte la documentación oficial de gon para obtener más información.


Recursos:

https://github.com/gazay/gon

Consulte este artículo en nuestra página de Facebook : https://www.facebook.com/RailsCarma

Artículos Relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

es_ESSpanish