Vodič za Ruby on Rails za početnike s projektom i primjerom
Što je Ruby?
Rubin je visokorazinski interpretirani i objektno orijentirani programski jezik. To je dinamičan jezik otvorenog koda iza kojeg stoji velika zajednica. Ruby je dizajniran za jednostavnost i produktivnost. Potiče prvo pisanje ljudskog, a drugog računalnog softverskog koda. Kreirao ga je Yukihiro Matsumoto u Japanu 1995.
Što je Rails?
Šine je razvojni okvir napisan u Rubyju za izradu web aplikacija. Napravljen je kao temelj aplikacije Basecamp, a zatim je 2004. godine objavljen kao softver otvorenog koda. Rails nudi mnoge ugrađene standardne značajke i funkcionalnosti, što ga čini prikladnom opcijom za izradu prototipa i razvoj MVP-a.
Kreirao ga je David Heinemeier Hasson popularno poznat kao DHH. To je jedan od najutjecajnijih i najpopularnijih alata za izradu web aplikacija. Koriste ga neke od omiljenih stranica kao što su Airbnb, Github, Shopify itd.
Zašto Rails?
Evo prednosti/prednosti korištenja Railsa:
- Rails je upakiran kao Ruby dragulj i možete ga koristiti za izgradnju raznih aplikacija.
- Omogućuje vam izradu uobičajenih web aplikacija, aplikacija za e-trgovinu, sustava za upravljanje sadržajem itd.
- Rails je full-stack okvir koji uključuje sve što vam je potrebno za stvaranje web aplikacije vođene bazom podataka, koristeći obrazac Model-View-Controller.
- To znači da su svi slojevi napravljeni da besprijekorno rade zajedno s manje koda. Zahtijeva manje redaka koda od ostalih okvira.
Kako preuzeti i instalirati Ruby na Windows
Proces instalacije ovisit će o vašem operativnom sustavu. Proći ćete kroz instalaciju Rubyja na Windows, Mac i Linux.
Korak 1) Preuzmite Rubyinstaller
Najlakši način da instalirate Ruby na svoj Windows računalo je putem Ruby Installera koji možete preuzeti na https://rubyinstaller.org/.
Sve što trebate učiniti je pokrenuti preuzeti instalacijski program.
Korak 2) Kliknite na preuzeti instalacijski program
Double-kliknite na preuzeti instalacijski program 'rubyinstaller-2.4.1-2-x64.exe'.
Korak 3) Prihvatite licencu
Odaberite radio gumb 'Prihvaćam licencu' i kliknite gumb 'Dalje'. Ovo bi vas trebalo dovesti do sljedeće slike u nastavku:
Korak 4) Označite prva dva potvrdna okvira
Označite prva dva potvrdna okvira za lakše pokretanje Ruby skripti.
Pritisnite gumb 'Instaliraj' da biste započeli instalaciju. Trebali biste vidjeti donju sliku kada instalacija završi.
Korak 5) Kliknite Finish
Ne poništavajte opciju potvrdnog okvira koja instalira MSYS2. Pritisnite "Završi" da dovršite instalaciju i prikazat će se prozor naredbenog retka prikazan na slici ispod.
Korak 6) Instalira MSYS2
Ovaj korak instalira MSYS2, platformu za izgradnju koja ima upravitelj paketa za jednostavnu instalaciju paketa Windows.
Pritisnite Enter za instaliranje svih komponenti jer sve one moraju imati glatko Ruby on Rails razvojno okruženje za rad na Windows.
Instaliranje tračnica
Trebali biste imati instaliran Ruby iz prethodnog odjeljka, a sada ćete instalirati Rails. Možete instalirati Rails pomoću paketa iz RailsInstaller, ali problem s ovim je što ne dobivate najnoviju verziju potrebnih paketa.
Ako već imate instaliran najnoviji Ruby i osnovni skup potrebnih RubyGemova i proširenja. Sve što sada trebate učiniti je pokrenuti sljedeću naredbu na naredbenom retku da biste dobili Rails na svom sustavu: 'gem install rails.'
Također ćete morati instalirati Node.js ako ga već nemate jer neke biblioteke o kojima ovisi Rails zahtijevaju a Javascript runtime radi ispravno. Možete dobiti čvor na https://nodejs.org.
To je češći i preferirani pristup razvoju Windows. Rails zajednica koristi a Windows Podsustav za Linux koji pruža GNU/Linux okruženje s alatima naredbenog retka, uslužnim programima i uobičajenim aplikacijama izravno na Windows.
Instaliranje Rubyja na Mac
Vaš Mac već ima unaprijed instaliran Ruby. Međutim, unaprijed instalirana verzija može biti stara, pa ćete morati instalirati novu/najnoviju verziju.
Najlakši način da to učinite je pomoću upravitelja paketima kao što je Homebrew. Možda ćete najprije morati instalirati Homebrew pokretanjem donje naredbe na terminalu.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
Ovo će prikazati upozorenje i tražiti da unesete lozinku. Unesite lozinku za Mac (nećete vidjeti znakove dok upisujete). Samo pritisnite 'Enter' kada završite s upisivanjem lozinke. Zatim pokrenite ovu jednostavnu Homebrew naredbu da instalirate Ruby na svoj Mac.
brew install ruby
I također pokrenite ovu naredbu:
echo "export PATH="/usr/local/bin:/usr/local/sbin:$PATH >> ~/.bash_profile
Da postavite ovu Ruby instalaciju kao zadanu Ruby koja će se izvoditi na vašem sustavu, a ne unaprijed instalirani Ruby.
Kako biste potvrdili da je instalacija bila uspješna, možete pokrenuti sljedeće na terminalu
ruby --version
ovo će ispisati broj Ruby verzije koju ste instalirali. Izlaz će izgledati otprilike ovako
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]
Instaliranje Rubyja na Ubuntu (Linux)
Najlakši način da Ruby instalirate na svoj Ubuntu sustav je preko apt upravitelja paketa. Morate pokrenuti sljedeće naredbe na terminalu da biste instalirali najnoviji Ruby iz Ubuntu spremišta.
- sudo apt ažuriranje – Ovo će ažurirati zadane postavke Ubuntu repozitoriji
- sudo apt instaliraj ruby-full – Preuzet će i instalirati najnoviji Ruby
Kako biste potvrdili da je instalacija bila uspješna, možete pokrenuti sljedeće 'ruby –verzija,' ovo će ispisati Ruby verziju koju ste instalirali.
Instaliranje Rails na Ubuntu (Linux)
Trebali biste slijediti korake u nastavku kako biste uspješno instalirali Rails na svoj Linux stroj.
Korak 1) Ažurirajte svoj računalni gem manager pokretanjem 'gem update –sustav' na terminalu ili naredbenom retku.
Korak 2) trčanje 'šine za ugradnju dragulja' kako biste instalirali najnoviju verziju Railsa na svoje računalo.
Korak 3) Trebali biste instalirati bundler gem za jednostavno upravljanje ovisnostima o Rails aplikaciji gem. Trčanje 'gem install bundler' kako bi ga dobili.
Dva principa Railsa
Rails slijedi osnovna načela dizajna softvera i potiče vas da i vi koristite ta načela.
Dva najčešća su:
- Nemojte se ponavljati (DRY) – ovo vas tjera da pišete sažet, dosljedan i održiv kod.
- Konvencija nad konfiguracijom – Rails je unaprijed konfiguriran za korištenje razumnih zadanih postavki koje odgovaraju većini uobičajenog korištenja. To čini razvoj vaše aplikacije brzim, a također imate manje koda za održavanje.
Rails – Strukture projektnih datoteka
Uz Rails koji je sada instaliran na vašem sustavu, možete stvoriti Rails aplikaciju! U ovom vodiču za Ruby on Rails naučit ćemo primjere Ruby on Rails i kako izraditi aplikaciju popisa obveza. Pokrenite sljedeću naredbu 'tračnice nova todo_app' u svom terminalu za izradu aplikacije.
Ova naredba stvara direktorij pod nazivom 'todo_app' u trenutnom direktoriju s osnovnom strukturom mapa Rails web aplikacije, kao što je prikazano na slici ispod:
Proći ćete kroz glavne direktorije u ovom Ruby on Rails primjeru.
aplikacija – Ovaj direktorij grupira korištenje različitih poddirektorija za UI/izgled (pogledi i pomoćnici), kontroler (datoteke kontrolera) i modele (poslovna/aplikacijska logika).
aplikacija/kontroleri – Ovaj direktorij pohranjuje datoteke kontrolera koje koristi Rails za obradu zahtjeva klijenta.
aplikacija/imovina – Sadrži statične datoteke, što je potrebno za sučelje aplikacije grupirane u mape na temelju njihove vrste – JavaScript datoteke, slike i stilske tablice.
aplikacija/pomagači – Ovaj poddirektorij sadrži pomoćne funkcije koje vaš model aplikacije, pogled i logiku kontrolera čine fokusiranima, malima i čistima.
aplikacija/modeli – Ovo sadrži datoteke
koji modeliraju bazu podataka vaše aplikacije. Klase modela čine rad s bazom podataka vrlo lakim.
aplikacija/prikazi – Ovo čuvanje datoteka predložaka/izgleda s kojima korisnik vaše aplikacije komunicira. Predlošci su kombinacija HTML-a i podataka iz baze podataka.
kanta – Sadrži Rails skripte koje pokreću vašu aplikaciju. Također može uključivati druge skripte koje koristite za postavljanje i nadogradnju aplikacije.
Konfiguracija – Ovo sadrži konfiguracijske datoteke – baza podataka.yml, okruženje.rb, rute.rb, itd. koje vaša aplikacija treba pokrenuti.
DB – Ovaj direktorij sadrži datoteke/skripte koje se koriste za upravljanje bazom podataka vaše aplikacije.
lib – Ovaj direktorij sadrži prošireni modul za vašu aplikaciju.
zapisnik – Ovo sadrži datoteke dnevnika – server.log, development.log, test.log i production.log, itd., koji se koriste za otklanjanje pogrešaka ili nadzor vaše aplikacije.
publika - Ovaj direktorij sadrži statične datoteke i kompajlirana sredstva, kao što su HTML datoteke, Javascript datoteke, slike i stilske tablice.
test – Ovaj direktorij sadrži testne datoteke koje napišete da testirate funkcionalnost svoje aplikacije.
tmp – Ovaj direktorij sadrži privremene datoteke kao što su cache i pid datoteke.
dobavljač – Ovaj direktorij sadrži biblioteke trećih strana.
Gemfile – Ova datoteka navodi koji su vaši osnovni gem zahtjevi za pokretanje vaše web aplikacije. Možete grupirati dragulje u razvoj, testiranje ili proizvodnju i Rails će znati kada treba uključiti svaki dragulj.
Gemfile.lock – Za razliku od Gemfilea koji izričito navodi dragulje koje želite u svojoj aplikaciji, Gemfile.lock dodatno sadrži druge dragulje o kojima ovise oni koje navedete u Gemfileu, a koji se zatim automatski instaliraju kako bi se zadovoljile ovisnosti.
Readme.md – Ovu datoteku koristite za dijeljenje bitnih pojedinosti o vašoj aplikaciji, kao što je što aplikacija radi, kako instalirati i pokrenuti aplikaciju.
Rakefile – Ova datoteka sadrži različite definicije rake zadataka, što pomaže u automatizaciji svakodnevnih administrativnih zadataka vaše aplikacije.
config.ru – Ovo je Rack konfiguracijska datoteka koja pruža sučelje web poslužitelju za pokretanje vaše aplikacije.
Promijenite direktorij u 'todo_app' imenik Rails generiran i pokrenut 'tračnički poslužitelj' za pokretanje aplikacije. Tip localhost: 3000 u adresnoj traci vašeg web preglednika trebali biste vidjeti donju sliku ako je sve prošlo dobro.
Ovo je zadana početna stranica vaše aplikacije i to ćete promijeniti u kasnijem odjeljku ovog vodiča za Ruby on Rails. Poslužitelj možete zaustaviti pritiskom na 'Ctrl-C'.
Tračnice – Generirajte naredbe
Naredba Rails generate koristi predloške za stvaranje puno korisnih stvari u vašoj aplikaciji. Pomoću ovih generatora možete uštedjeti puno vremena.
Pomaže pisanjem standardnog koda, koda koji je neophodan za rad vaše web aplikacije. Možete trčati 'tračnice generiraju' samostalno u naredbenom retku ili terminalu kako biste vidjeli popis dostupnih generatora kao što je prikazano u nastavku:
Možete i trčati 'tračnice generiraju "naredbu"' da vidite opis onoga što naredba radi. Nudi praktične opcije koje se mogu pokrenuti pomoću naredbe i primjera korištenja. Slika u nastavku prikazuje rezultat rada'tračnice generiraju kontroler':
Koristit ćete naredbu rails generate scaffold za automatsku izradu modela, prikaza i kontrolera za aplikaciju popisa zadataka koju gradite. Trčanje'tračnice generiraju skelu todo_list naslov:string opis: tekst' u vašem terminalu (provjerite jeste li još uvijek u direktoriju todo_app).
Ovo će stvoriti potpuno CRUD (Create, read, update, and delete) web sučelje za tablicu TodoLists.
Još jedna korisna naredba koju treba znati je 'tračnice uništiti,' preokreće god 'tračnice generiraju...' radi.
Tračnice – usmjeravanje
Rails sustav usmjeravanja, rails router, obrađuje sve dolazne zahtjeve vašoj web aplikaciji. To čini ispitivanjem URL-a dolaznih zahtjeva i zatim preslikava svaki zahtjev na radnju kontrolera odgovornu za rukovanje njime, koristeći posebnu sintaksu navedenu u datoteci ruta (config/routes.rb).
Datoteka ruta pomaže u kontroli svakog URL aspekta vaše web aplikacije. Rails prema zadanim postavkama koristi RESTful dizajn temeljen na REST arhitektonskom stilu, koji omogućuje mapiranje između HTTP glagola i zahtjeva (URL-ova) za radnje kontrolera.
Datoteka s rutama generirana je kad ste trčali 'nove tračnice' u ranijem odjeljku ovog vodiča. Nastavljajući s aplikacijom Todo koju gradite, pokrenite sljedeće'rails db:migrate' (uskoro ćete saznati što ovo radi)
U naredbenom retku provjerite jeste li još uvijek u korijenu aplikacije (direktorij todo_app).
Zatim ponovno pokrenite poslužitelj s 'tračnički poslužitelj', Tip http://localhost:3000/todo_lists/
u pregledniku i pritisnite Enter. Trebali biste vratiti web stranicu kao što je prikazano na donjoj slici primjera Ruby on Rails:
Ovo je prikaz popisa zadataka koji je generirala naredba skele i njime upravlja radnja indeksa TodoListsControllera.
Samo naprijed i dodajte popis obveza klikom na 'Novi popis obveza' na stranici, trebali biste dobiti stranicu kao što je prikazano u nastavku:
Primijetite da je URL promijenjen u http://localhost:3000/todo_lists/new
. Ovo je stranica za stvaranje novog popisa obaveza, a njome upravlja nova metoda/akcija TodoListsControllera.
Unesite naslov i opis svog popisa zadataka u obrazac i kliknite gumb Stvori popis zadataka, URL bi se trebao promijeniti u http://localhost:3000/todo_lists/1
, prikazan na donjoj slici Ruby on Rails primjera koda:
Ovo je stranica za prikaz popisa zadataka i njome upravlja metoda/akcija prikaza TodoListsControllera. Ako se vratite na http://localhost:3000/todo_lists/
, sada biste trebali vidjeti donju sliku s dodanim novim popisom obveza:
Rails je uspio preslikati različite zahtjeve (URL-ove) na odgovarajuću radnju TodoListsControllera korištenjem definicije rute u config/routes.rb.
Ako zavirite u ovu datoteku, vidjet ćete jedan redak 'resursi: todo_lists', je Railsov zadani način pisanja mirnih ruta. Ova jedna linija stvara sedam ruta koje se sve preslikavaju na kontroler TodoLists.
Prema konvenciji, radnja svakog kontrolera također se preslikava na određenu CRUD (Stvaranje, čitanje, ažuriranje i brisanje) operaciju u bazi podataka.
Možete trčati 'rake routes' u naredbenom retku da vidite različite rute dostupne u vašoj aplikaciji. Slika u nastavku prikazuje rezultat rada 'tračnice' u vašem naredbenom retku/terminalu.
Tračnice – pogledi
Sloj pogleda jedna je od komponenti MVC paradigme i odgovoran je za generiranje HTML odgovora za svaki zahtjev vašoj aplikaciji. Rails prema zadanim postavkama koristi ERB (Embedded Ruby) koji je moćan sustav šablona za Ruby.
ERB čini pisanje predložaka lakim i lakim za održavanje kombiniranjem običnog teksta s Ruby kodom za zamjenu varijabli i kontrolu protoka. ERB predložak ima ekstenziju .html, .erb ili .erb.
Uglavnom ćete koristiti kombinaciju samo dva markera oznaka, od kojih svaki uzrokuje obradu i rukovanje ugrađenim kodom na određeni način.
Oznaka sa znakom jednakosti '<%= %>' označava da je ugrađeni kod izraz i da rezultat koda treba zamijeniti iscrtivač kada iscrtava predložak.
Druga oznaka bez znaka jednakosti '<% %>' pokazuje rendereru da rezultat koda ne bi trebao biti zamijenjen/ispisan kada renderira predložak.
Svaki kontroler u vašoj Rails aplikaciji ima odgovarajući poddirektorij u aplikacija/prikazi, a svaka radnja/metoda u kontroleru ima odgovarajuću .html i .erb datoteku u ovom direktoriju.
Pogledajte aplikaciju/prikaze aplikacije za zadaće koju gradite. Naći ćete poddirektorij pod nazivom 'do_lists' unutar ovog poddirektorija .html.erb datoteke s nazivima koji odgovaraju radnjama/metodama u TodoLists kontroler.
Tračnice – ActiveRecord, Active Record Pattern i ORM
ActiveRecord je Ruby implementacija uzorka Active Record, koji je jednostavan obrazac u kojem klasa predstavlja tablicu, a instanca klase predstavlja red u toj klasi.
ActiveRecord se popularno naziva ORM (Object Relational Mapping), tehnika koja vam omogućuje upravljanje bazom podataka pomoću jezika koji vam je najudobniji. Ne razlikuje se od baze podataka pa se možete jednostavno prebacivati između baza podataka (na primjer SQLite, MySQL, PostgreSQL, SQL poslužitelj, Oracle, itd.). Ovaj paket više odgovara vašim zahtjevima aplikacije s istim kodom/logikom.
Dakle, ako želite dobiti niz koji sadrži popis svih popisa obveza u vašoj aplikaciji, dakle, umjesto pisanja koda za pokretanje veze s bazom podataka, zatim napravite neku vrstu SQL SELECT upita i pretvorite te rezultate u niz.
Za to samo trebate upisati 'TodoList.all' a Active Record vam daje polje ispunjeno TodoList objektima s kojima se možete igrati kako želite.
Sve što trebate učiniti je postaviti pravu konfiguraciju config/database.yml, i Active Record će riješiti sve razlike između različitih sustava baza podataka. Dakle, kada prelazite s jednog na drugo, ne morate razmišljati o tome.
Vi se usredotočite na pisanje koda za svoju aplikaciju, a Active Record će razmisliti o detaljima niske razine vašeg povezivanja s vašom bazom podataka. Active Record koristi konvencije imenovanja za stvaranje mapiranja između modela i tablica baze podataka.
Rails pluralizira nazive klasa vaših modela kako bi pronašli odgovarajuću tablicu baze podataka. Dakle, za klasu TodoList, ActiveRecord će stvoriti tablicu baze podataka pod nazivom TodoLists.
Tračnice – Migracije
Rails migracija je jednostavno skripta koju koristite za uređivanje vaše baze podataka aplikacije. Koristi se za postavljanje ili promjenu vaše baze podataka i izbjegava ručno pisanje SQL koda za to.
Koristi Ruby za definiranje promjena u shemi baze podataka i omogućuje korištenje kontrole verzija kako bi vaša baza podataka bila sinkronizirana.
Rails Migrations koristi Ruby Domain Specific Language (DSL). Ovo djeluje kao apstrakcija i omogućuje korištenje ili promjenu vašeg mehanizma baze podataka na temelju vaših zahtjeva.
Mogu se dijeliti sa svima koji rade na aplikaciji, a mogu se i vratiti kako bi se poništile sve promjene u bazi podataka. Ovo je mehanizam visoke sigurnosti jer se ne morate zamarati time što ćete trajno oštetiti svoju bazu podataka.
Tračnice – asocijacije ActiveRecord
Veza između dva modela ActiveRecord poznata je kao asocijacija. Povezivanje znatno olakšava izvođenje operacija na različitim zapisima u vašem kodu. Može se podijeliti u četiri kategorije: –
Jedan na jedan: – Ovo označava da zapis sadrži točno jednu instancu drugog modela. Dobar primjer je korisnički profil. Korisnik ima samo jedan profil. Koristi se ima _jednog ključne riječi.
Jedan mnogima: – Ovo je najčešća povezanost, a označava da jedan model ima nula ili više instanci drugog modela. Vaša upotreba ima _mnogo ključna riječ za označavanje ove asocijacije.
Mnogi mnogima: – Ovo povezivanje je malo kompliciranije, a ActiveRecord nudi dva načina za rukovanje njime. Koristiti ima_i_pripada_mnogima i ima mnogo, koji vam daje pristup relaciji koja je definirana u zasebnoj tablici.
Polimorfni jedan prema mnogima:- Ovo je naprednija asocijacija dostupna u Railsu. Možete ga koristiti za definiranje modela koji može pripadati mnogim različitim modelima u jednoj asocijaciji.
Tračnice – ActiveRecord Validations
Provjera valjanosti pomaže osigurati da imate točne podatke jer je rad s pogrešnim podacima užasna stvar i može vas koštati novca i posla.
Validacija također pruža dodatni sloj sigurnosti za vašu aplikaciju protiv zlonamjernih korisnika koji mogu pristupiti informacijama u vašoj bazi podataka. Rails vam nudi lijep API pomoćnika za provjeru valjanosti u ActiveRecordu kako bi vaša baza podataka bila čista, sigurna i bez pogrešaka.
ActiveRecord provjere valjanosti pokreću se na objektima modela prije spremanja u bazu podataka, što ih čini pouzdanijima i također najboljom praksom koju treba slijediti u izradi vaše aplikacije.
Sljedeće ActiveRecord metode izazivaju provjere valjanosti kada se koriste ili pozivaju na objektima modela – stvaraj, stvaraj!, spremaj, spremaj!, ažuriraj i ažuriraj!. One sa šiškom (stvori!, spasi! i ažurirati!) pokrenuti iznimku ako je zapis nevažeći dok thothen't'tt't't.
Najčešći pomoćnici za provjeru valjanosti ActiveRecorda koji su vam na raspolaganju su:-
Potvrda:– Ovaj pomoćnik za provjeru je koristan za provjeru da dva polja imaju isti unos. npr. lozinka i potvrda lozinke, koristi se zajedno s pomoćnikom za provjeru prisutnosti.
Prisutnost:– Time se provjerava da polje nije prazno.
jedinstvenost: osigurava jedinstvenu vrijednost za polje, npr. korisničko ime
Duljina: - Za nametanje ograničenja duljine znakova u polju
Također možete stvoriti svoju prilagođenu provjeru valjanosti korištenjem metode validate i prosljeđivanjem naziva prilagođene metode provjere valjanosti.
Možete provjeriti modele pogreška objekt kako bi saznali zašto valjanost. Nadamo se da imate neke ideje da svoju aplikaciju učinite ograničenijom i sigurnijom kako biste dopustili samo sigurne podatke u svoju bazu podataka.
Tračnice – ActionController
Rails kontroler središte je vaše web aplikacije. Olakšava i koordinira komunikaciju između korisnika, modela i pogleda.
Vaše klase kontrolera nasljeđuju od ApplicationControllera koji sadrži kod koji se može pokrenuti u svim drugim kontrolerima i nasljeđuje od klase ActionController.
Kontroler vašoj aplikaciji pruža sljedeće:
- Usmjerava vanjske zahtjeve na interne akcije
- Uspijeva predmemorirati, dajući poboljšanja performansi vašoj aplikaciji
- Upravlja pomoćnim metodama koje proširuju mogućnosti predložaka prikaza. Također upravlja korisničkim sesijama, pružajući im glatko iskustvo korištenja vaše aplikacije.
Tračnice – Konfiguracije
Možete konfigurirati različite komponente kao što su inicijalizatori, sredstva, generatori, međuopreme, itd. Korištenjem inicijalizatora vaše Rails aplikacije i konfiguracijskih datoteka u konfiguracijskom direktoriju. Datoteke poput config/application.rb, config/environments/development.rb i config/environments/test.rb itd. Također možete konfigurirati prilagođene postavke za svoju aplikaciju.
Tračnice – otklanjanje pogrešaka
Kako budete gradili svoju aplikaciju, doći će vrijeme kada ćete trebati/morati debugirati svoj kod. Tračnice to olakšavaju pomoću dragulja byebug. Sesiju otklanjanja pogrešaka možete započeti stavljanjem ključne riječi 'byebeg' bilo gdje u kodu aplikacije.
Ovo će privremeno zaustaviti izvršenje u tom trenutku. Byebug gem vam daje nekoliko naredbi za korištenje. Najkorisniji su:
- sljedeći: naredba koja vam omogućuje prijelaz na sljedeći red koda, preskačući sve metode pozvane izvođenjem trenutnog retka.
- korak: ovo je slično naredbi 'sljedeća', ali će vas natjerati da uđete u svaku pozvanu.
- razbiti: ovo zaustavlja izvršavanje koda.
- nastaviti nastavlja kod izvršavanja.
Dostupni su i drugi dragulji za otklanjanje pogrešaka kao što je 'pry', a svi oni pružaju slične funkcionalnosti, ali malo drugačiju sintaksu. Dragulji za otklanjanje pogrešaka ne bi se trebali koristiti u proizvodnji jer to predstavlja rizik za vašu aplikaciju i loše iskustvo za korisnike vaše aplikacije.
Postoje datoteke dnevnika koje možete provjeriti radi pogrešaka u proizvodnji i postupati s njima. Također, trebali biste slijediti TDD (Test-driven development) pristup kada razvijate svoju aplikaciju kako biste bili sigurni da sve dobro radi prije postavljanja u proizvodnju.
rezime
- Ruby je čisti objektno orijentirani programski jezik
- Ruby ima elegantnu sintaksu koju je lako čitati i pisati.
- Rails je razvojni okvir, napisan u Rubyju, za izradu web aplikacija
- Proces instalacije ovisit će o vašem operativnom sustavu.
- Rails je upakiran kao Ruby dragulj i možete ga koristiti za izgradnju raznih aplikacija.
- U ovom ćete vodiču izraditi aplikaciju s popisom obaveza, pokrenite followincomm'n'n' 'rails netoda'p'p'p' u vašem terminalu da biste izradili aplikaciju.
- Naredba Rails generate koristi predloške za stvaranje puno korisnih stvari u vašoj aplikaciji.
- Rails sustav usmjeravanja, rails router vam pomaže da obrađujete sve dolazne zahtjeve vašoj web aplikaciji.
- Sloj pogleda jedna je od komponenti MVC paradigme i odgovoran je za generiranje HTML odgovora za svaki zahtjev vašoj aplikaciji.
- ActiveRecord je Ruby implementacija uzorka Active Record.
- Rails migracija je jednostavno skripta koju koristite za uređivanje vaše baze podataka aplikacije.
- Veza između dva modela ActiveRecord poznata je kao asocijacija.
- Provjera valjanosti pomaže osigurati da imate točne podatke jer je rad s pogrešnim podacima užasna stvar i može vas koštati novca i posla.
- Rails kontroler vam pomaže da olakšate i koordinirate komunikaciju između korisnika, modela i prikaza.
- Rail vam pomaže da konfigurirate različite komponente kao što su inicijalizatori, sredstva, generatori, međuprogrami itd.