Le gemme sono librerie in Rails che generalmente consentono di scrivere il codice dell'applicazione più velocemente e quindi di realizzare un ottimo prodotto in molto meno tempo. Di solito, ogni volta che iniziamo a sviluppare un'applicazione, arriva un punto in cui abbiamo bisogno di dati che possiamo utilizzare per vedere come si comporterà l'applicazione durante l'esecuzione di alcuni test di carico o come apparirebbe quando la distribuiremo in produzione. Il processo manuale di creazione dei dati può essere scoraggiante. Faker Gem serve a eliminare questo dolore generando dati falsi proprio come necessari e risparmiandoci tutto il tempo e gli sforzi altrimenti sprecati nel processo manuale di generazione dei dati.
Può generare quasi tutti i tipi di dati adatti alla nostra applicazione. Ad esempio, può generare dati falsi per campi come nome, e-mail, password, numeri di telefono, paragrafi, ecc. È quindi un modo fantastico per popolare il modello (che è un livello di database in Rails)
Diamo un'occhiata a questo gioiello creando un progetto di esempio.
Apri il Gemfile dalla directory dell'applicazione e aggiungi 'falsificatore di gemme' come mostrato di seguito.
Nome del file: Gemfile
Esegui il comando 'installazione in bundle' come sempre.
Solo per confermare e vedere se le gemme sono state installate correttamente.
So, the installation was successful! Now, let’s create a model for which we will do the data
population using faker gem. We will call our sample model as PersonDetail & it will have the following fields:
- Nome di battesimo
- Cognome
- Age
- Phone Number
- Company Info
Poiché abbiamo utilizzato l'impalcatura per una dimostrazione più rapida, la tabella con il nome ''person_details'' con i campi menzionati verranno creati dopo la migrazione del database.
A questo punto dovremmo avere la tabella creata con i campi menzionati. Possiamo verificare la struttura effettiva di questa tabella file schema.rb
Nome del file: db/schema.rb
Ora c'è un file chiamato semi.rb presente nelle directory dell'applicazione 'db' folder. There are
Some examples already available (the commented part) in this file that demonstrates how to make use of this file.
We can also go ahead on the same lines and try to create data for defined fields in “dettagli_persona” table by using Faker gem.
THE ACTUAL USAGE OF FAKER STARTS FROM HERE!
We have some common fields such as FIRST_NAME, LAST_NAME, EMAIL, PHONE_NUMBER, etc. in our table. For these fields, the usage is, as shown below:
Faker::Name.first_name → first_name
Faker::Name.last_name → last_name
Faker::Number.number(2) → age
Faker::Internet.email → email
Faker::PhoneNumber.phone_number → phone_number
Faker::Company.name → company_info
All these values will be generated in random ways to achieve considerable uniqueness in the data generated.
Combining all of these fields, we can make it to create as many number of rows as we want in persona_dettagli tavolo.
Nome del file: db/seeds.rb
Ed ecco il passaggio finale per la generazione dei dati:
Possiamo avviare il server come “server ferroviario” e inserisci il percorso come
Eccoci qua! Possiamo vedere che vengono create 5 righe distinte e mostrate nella pagina di elenco dell'indice:
Ora, mentre Faker genera le informazioni in modo casuale, i dati generati per impostazione predefinita possono o meno essere sempre completamente univoci. Per garantire che i dati generati siano sempre unici, possiamo utilizzare 'unico' poco prima della vera e propria chiamata sul campo:
Esistono molti campi di questo tipo per i quali possiamo avere dati falsi. Puoi trovare un elenco esaustivo degli stessi qui:
https://github.com/stympy/faker
Resta sintonizzato per saperne di più!