Gems är bibliotek i Rails som i allmänhet gör att du kan skriva applikationskoden snabbare och därigenom göra en bra produkt på mycket kortare tid. Vanligtvis, när vi börjar utveckla en applikation, kommer det en punkt när vi behöver data som vi kan använda för att se hur applikationen kommer att bete sig medan vi gör lite belastningstester eller hur den skulle se ut när vi distribuerar den till produktionen. Den manuella processen att skapa data kan vara skrämmande. Faker gem tjänar till att ta bort denna smärta genom att generera falska data precis som behövs och spara oss all tid och ansträngning som annars slösas bort i den manuella processen för datagenerering.
Den kan generera nästan alla typer av data som är lämpliga för vår applikation. Till exempel kan den generera falska data för fält som namn, e-post, lösenord, telefonnummer, stycken, etc. Det är därför ett fantastiskt sätt att fylla modellen (som är ett databaslager i Rails)
Låt oss ta en titt på denna pärla genom att skapa ett exempelprojekt.
Öppna Gemfilen från programkatalogen och lägg till "pärla faker" enligt nedanstående.
Filnamn: Gemfile
Kör kommandot 'paketinstallation' som alltid.
Bara för att bekräfta och se om ädelstenarna installerades framgångsrikt.
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:
- Förnamn
- Efternamn
- Age
- Phone Number
- Company Info
Eftersom vi har använt ställningen för snabbare demonstration, bordet med namn ''person_detaljer'' med nämnda fält kommer att skapas efter migrering av databasen.
Vid det här laget bör vi ha tabellen skapad med de nämnda fälten. Vi kan kontrollera den faktiska strukturen för denna tabell schema.rb-filen
Filnamn: db/schema.rb
Nu finns det en fil som heter frön.rb finns i applikationskataloger '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 "person_detaljer" 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 person_details tabell.
Filnamn: db/seeds.rb
Och här är det sista steget för datagenerering:
Vi kan starta servern som "rails server" och ange rutten som
Där går vi! Vi kan se att 5 distinkta rader skapas och visas på indexsidan:
Nu, medan Faker genererar informationen på slumpmässiga sätt, kan eller kanske inte den data som genereras som standard vara helt unik hela tiden. För att säkerställa att den data som genereras alltid är unik kan vi använda oss av 'unik' strax före själva fältanropet:
Det finns många sådana fält för vilka vi kan ha falska data. Du kan hitta en uttömmande lista över detsamma här:
https://github.com/stympy/faker
Håll ögonen öppna för mer!