Utilizzo di Gon Gem con Javascript e Rails

L'utilizzo dei dati Rails come parte di Javascript è una necessità estremamente regolare, in particolare per le applicazioni Javascript come Angular, Ember e SPA.

Se si tratta di una piccola quantità di dati, possiamo assegnarli direttamente alle variabili Ruby.

Dalla vista delle rotaie:
Ex:-

HTML:

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


Attributo dei dati HTML:

<%= content_tag "div", id: "posts", data: {posts: Post.limit(5)} do %> Caricamento .. <% end %>;
Caricamento ..

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


Dai controller dei binari utilizzando Gon:

Gli scenari di cui sopra non sembrano essere immacolati e sensati, in particolare quando abbiamo bisogno di più informazioni anziché solo di alcuni dati.

In realtà, esiste una buona soluzione per passare le variabili Rails dai controller a Javascript, ad esempio gon gem.

Gon ci aiuta a soddisfare i nostri bisogni in modo più semplice e pulito.


Impostare

È abbastanza semplice configurare Gon Gem.

Aggiungi gem 'gon' a Gemfile ed esegui l'installazione del bundle
Inserire <%= include_gon %>; nel tag head di layouts/application.html.erb. Puoi posizionarlo ovunque desideri utilizzarlo. Spostalo nella vista particolare se desideri utilizzarlo solo in quella vista particolare.

Imposta le variabili dal controller/vista (principalmente dai controller)

gon.currentUser = @utente gon.title = 'Esempio Gon'

#or

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

Quindi, in JavaScript possiamo usarli come variabili normali

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

Appunti:
Possiamo modificare lo spazio dei nomi della variabile. Ciò significa che possiamo utilizzare app.variableName invece di gon.variableName. Ma dobbiamo specificare lo spazio dei nomi durante l'inclusione.

<%= include_gon(namespace: 'app') %>;

Esistono altri elenchi di opzioni che possiamo impostare per gon (https://github.com/gazay/gon/wiki/Options).
Gon può essere utilizzato con jbuilder e rabl(https://github.com/gazay/gon/wiki)
Spingere almeno una variabile su gon per evitare che gon si trovi in un errore non definito, altrimenti verificare se è definita o meno.
Le variabili Gon possono essere ricaricate dai binari utilizzando gon.watch. Per ulteriori informazioni, consultare la documentazione ufficiale di gon.


Risorse:

https://github.com/gazay/gon

Dai un'occhiata a questo articolo sulla nostra pagina Facebook: https://www.facebook.com/RailsCarma

Articoli correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

it_ITItalian