Utilisation de Gon Gem avec Javascript et Rails

L'utilisation des données Rails dans le cadre du javascript est un besoin extrêmement régulier, en particulier pour les applications Javascript telles que Angular, Ember et SPA.

S'il s'agit d'une petite quantité de données, nous pouvons les assigner directement aux variables ruby.

Vue des rails :
Ex:-

HTML :

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


Attribut de données HTML :

Chargement ...
 ;
Chargement .

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


Des contrôleurs de rails en utilisant Gon :

Les scénarios ci-dessus ne semblent pas parfaits et raisonnables, en particulier lorsque nous avons besoin de plus d'informations plutôt que de simples données.

En fait, il y a une bonne solution pour passer les variables Rails des contrôleurs au javascript, c'est à dire gon gem.

Gon nous aide à satisfaire nos besoins d'une manière plus facile et plus propre.


Installation

Il est assez facile d'installer gon gem.

Ajouter la gem 'gon' au fichier Gemfile et exécuter bundle install
Insérer ; dans la balise head du fichier layouts/application.html.erb. Vous pouvez le placer où vous le souhaitez. Déplacez-la dans une vue particulière si vous souhaitez l'utiliser uniquement dans cette vue.

Définir des variables à partir du contrôleur/de la vue (principalement à partir des contrôleurs)

gon.currentUser = @user
gon.title = 'Exemple Gon'

#or

gon.push({
	currentUser : @user,
	title : 'Sample Gon''
})

En javascript, nous pouvons donc les utiliser comme des variables normales.

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

Notes :
Nous pouvons modifier l'espace de noms des variables. Cela signifie que nous pouvons utiliser app.variableName au lieu de gon.variableName. Mais nous devons spécifier l'espace de noms lors de l'inclusion.

;

Il existe d'autres listes d'options que nous pouvons définir pour gon(https://github.com/gazay/gon/wiki/Options).
Gon peut être utilisé avec jbuilder et rabl(https://github.com/gazay/gon/wiki)
Pousser au moins une variable vers gon pour éviter que gon ne se retrouve dans une erreur non définie, sinon valider si elle est définie ou non.
Les variables Gon peuvent être rechargées à partir de rails en utilisant gon.watch. Veuillez consulter la documentation officielle de gon pour plus d'informations.


Ressources :

https://github.com/gazay/gon

Consultez cet article sur notre page Facebook : https://www.facebook.com/RailsCarma

Articles Similaires

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrench