Ruby on Rails opetusohjelma
Mikรค on Ruby?
Rubiini on korkean tason, tulkittu ja olio-ohjelmointikieli. Se on dynaaminen avoimen lรคhdekoodin kieli, jonka takana on suuri yhteisรถ. Ruby on suunniteltu yksinkertaisuuden ja tuottavuuden vuoksi. Se rohkaisee kirjoittamaan ensin ihmisen ja tietokoneen toisen ohjelmistokoodin. Sen loi Yukihiro Matsumoto Japanissa vuonna 1995.
Mikรค on Rails?
Raiteet on Rubylla kirjoitettu kehityskehys verkkosovellusten rakentamiseen. Se luotiin Basecamp-sovelluksen perustaksi ja julkaistiin sitten avoimen lรคhdekoodin ohjelmistona vuonna 2004. Rails tarjoaa monia sisรครคnrakennettuja vakio-ominaisuuksia ja toimintoja, mikรค tekee siitรค sopivan vaihtoehdon MVP-prototyyppien tekemiseen ja kehittรคmiseen.
Sen loi David Heinemeier Hasson, joka tunnetaan yleisesti nimellรค DHH. Se on yksi vaikutusvaltaisimmista ja suosituimmista tyรถkaluista verkkosovellusten rakentamiseen. Sitรค kรคyttรคvรคt jotkut suosikkisivustoista, kuten Airbnb, Github, Shopify jne.
Miksi Rails?
Tรคssรค ovat kiskojen kรคytรถn edut/edut:
- Rails on pakattu Ruby-helmiksi, ja voit kรคyttรครค sitรค useiden sovellusten rakentamiseen.
- Sen avulla voit rakentaa tavallisia verkkosovelluksia, verkkokauppasovelluksia, sisรคllรถnhallintajรคrjestelmiรค ja paljon muuta.
- Rails on tรคyden pinon kehys, joka sisรคltรครค kaiken mitรค tarvitset tietokantapohjaisen verkkosovelluksen luomiseen Model-View-Controller-mallin avulla.
- Tรคmรค tarkoittaa, ettรค kaikki tasot on rakennettu toimimaan saumattomasti yhdessรค vรคhemmรคllรค koodilla. Se vaatii vรคhemmรคn koodirivejรค kuin muut puitteet.
Kuinka ladata ja asentaa Ruby Windows
Asennusprosessi riippuu kรคyttรถjรคrjestelmรคstรคsi. Asennat Rubyn Windows, Mac ja Linux.
Vaihe 1) Lataa Rubyinstaller
Helpoin tapa asentaa Ruby tietokoneellesi Windows tietokone on Ruby Installerin kautta, jonka voit ladata osoitteesta https://rubyinstaller.org/.
Sinun tarvitsee vain suorittaa ladattu asennusohjelma.
Vaihe 2) Napsauta ladattua asennusohjelmaa
Double-napsauta ladattua asennusohjelmaa rubyinstaller-2.4.1-2-x64.exe.
Vaihe 3) Hyvรคksy lisenssi
Valitse "Hyvรคksyn lisenssin" -valintanappi ja napsauta "Seuraava"-painiketta. Tรคmรคn pitรคisi viedรค sinut seuraavaan alla olevaan kuvaan:
Vaihe 4) Valitse kaksi ensimmรคistรค valintaruutua
Valitse kaksi ensimmรคistรค valintaruutua Ruby-komentosarjojen suorittamisen helpottamiseksi.
Napsauta "Asenna" -painiketta aloittaaksesi asennuksen. Sinun pitรคisi nรคhdรค alla oleva kuva, kun asennus on valmis.
Vaihe 5) Napsauta Valmis
รlรค poista valintaa valintaruudusta, joka asentaa MSYS2:n. Napsauta "Finish" viimeistellรคksesi asennuksen ja alla olevassa kuvassa nรคkyvรค komentokehoteikkuna tulee nรคkyviin.
Vaihe 6) Asentaa MSYS2:n
Tรคmรค vaihe asentaa MSYS2:n, rakennusalustan, jossa on paketinhallinta, joka helpottaa pakettien asennusta Windows.
Paina Enter asentaaksesi kaikki komponentit, koska ne kaikki edellyttรคvรคt sujuvaa Ruby on Rails -kehitysympรคristรถรค Windows.
Kiskojen asennus
Sinulla pitรคisi olla Ruby asennettuna edellisestรค osiosta, ja nyt asennat Rails. Voit asentaa Rails kรคyttรคmรคllรค pakettia Rails Installer, mutta tรคmรคn ongelmana on, ettรค et saa tarvittavien pakettien uusinta versiota.
Jos sinulla on jo uusin Ruby ja perussarja tarvittavia RubyGems- ja laajennuksia asennettuna. Sinun tarvitsee vain suorittaa seuraava komento komentokehotteessa saadaksesi Rails jรคrjestelmรครคsi: 'gem install rails'.
Sinun on myรถs asennettava Node.js jos sinulla ei vielรค ole sitรค, koska jotkut kirjastot, joista Rails riippuu, vaativat a Javascript kรคyttรถaika toimiakseen oikein. Voit saada solmun osoitteessa https://nodejs.org.
Se on yleisempi ja suositumpi tapa kehittyรค Windows. Rails-yhteisรถ kรคyttรครค a Windows Linux-alijรคrjestelmรค, joka tarjoaa GNU/Linux-ympรคristรถn komentorivityรถkaluilla, apuohjelmilla ja yleisillรค sovelluksilla suoraan Windows.
Rubyn asentaminen Maciin
Macissasi on jo esiasennettu Ruby. Esiasennettu versio saattaa kuitenkin olla vanha, joten sinun on asennettava uusi/uusin versio.
Helpoin tapa tehdรค tรคmรค on kรคyttรครค paketinhallintaohjelmaa, kuten Homebrew. Sinun on ehkรค ensin asennettava Homebrew suorittamalla alla oleva komento terminaalissa.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
Tรคmรค nรคyttรครค varoituksen ja pyytรครค sinua antamaan salasanasi. Kirjoita Mac-salasanasi (et nรคe merkkejรค kirjoittaessasi). Paina vain 'Enter', kun olet kirjoittanut salasanasi. Suorita sitten tรคmรค yksinkertainen Homebrew-komento asentaaksesi Ruby Mac-tietokoneellesi.
brew install ruby
Ja suorita myรถs tรคmรค komento:
echo "export PATH="/usr/local/bin:/usr/local/sbin:$PATH >> ~/.bash_profile
Voit asettaa tรคmรคn Ruby-asennuksen oletus-Rubyksi, joka toimii jรคrjestelmรคssรคsi, ei esiasennettuna Rubyna.
Voit varmistaa asennuksen onnistumisen suorittamalla seuraavan komennon pรครคtteessรค
ruby --version
tรคmรค tulostaa asentamasi Rubyn versionumeron. Tulos nรคyttรครค joltain tรคltรค
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]
Rubyn asennus Ubuntu (Linux)
Helpoin tapa saada Ruby asennettuna Ubuntu jรคrjestelmรค on apt paketinhallinnan kautta. Sinun on suoritettava seuraavat komennot terminaalissa asentaaksesi uusimman Rubyn Ubuntu arkistot.
- sudo apt pรคivitys - Tรคmรค pรคivittรครค oletusasetuksen Ubuntu arkistot
- sudo apt install ruby-full โ Se lataa ja asentaa uusimman Rubyn
Voit varmistaa asennuksen onnistumisen suorittamalla seuraavan komennon "rubiini - versio", tรคmรค tulostaa asentamasi Ruby-version.
Kiskojen asennus Ubuntu (Linux)
Sinun tulee noudattaa alla olevia ohjeita asentaaksesi Rails onnistuneesti Linux-koneellesi.
Vaihe 1) Pรคivitรค tietokoneesi helmihallinta suorittamalla "helmipรคivitys -jรคrjestelmรค" terminaalissa tai komentokehotteessa.
Vaihe 2) ajaa "helmi asennuskiskot" asentaaksesi Railsin uusimman version tietokoneellesi.
Vaihe 3) Asenna bundler gem, jotta voit helposti hallita Rails-sovelluksen gem-riippuvuutta. Juosta 'gem install bundler' saadakseen sen.
Railien kaksi periaatetta
Rails noudattaa ohjelmiston suunnittelun perusperiaatteita ja rohkaisee sinuakin kรคyttรคmรครคn niitรค.
Kaksi yleisintรค ovat:
- รlรค toista itseรคsi (DRY) โ tรคmรค saa sinut kirjoittamaan tiivistรค, johdonmukaista ja yllรคpidettรคvรครค koodia.
- Configuration over Configuration โ Rails on esikonfiguroitu kรคyttรคmรครคn jรคrkeviรค oletusasetuksia, jotka sopivat yleisimpiin kรคyttรถtarkoituksiin. Tรคmรค tekee sovelluskehityksestรค nopeaa, ja sinulla on myรถs vรคhemmรคn yllรคpidettรคvรครค koodia.
Rails โ projektitiedostorakenteet
Kun Rails on nyt asennettu jรคrjestelmรครคsi, voit luoda Rails-sovelluksen! Opimme Ruby on Rails -esimerkkejรค ja miten luodaan tehtรคvรคlistasovellus tรคssรค Ruby on Rails -opetusohjelmassa. Suorita seuraava komento "rails new todo_app" terminaalissasi luodaksesi sovelluksen.
Tรคmรค komento luo hakemiston nimeltรค "todo_app" nykyisessรค hakemistossa Rails-verkkosovelluksen peruskansiorakenteella alla olevan kuvan mukaisesti:
Kรคyt lรคpi pรครคhakemistot tรคssรค Ruby on Rails -esimerkissรค.
sovelluksen โ Tรคmรค hakemisto ryhmittelee eri alihakemistoja kรคyttรถliittymรคlle/asettelulle (nรคkymรคt ja apuohjelmat), ohjaimelle (ohjaintiedostot) ja malleille (liiketoiminta-/sovelluslogiikka).
sovellus/ohjaimet โ Tรคmรค hakemisto tallentaa ohjaintiedostot, joita Rails kรคyttรครค asiakkaan pyyntรถjen kรคsittelyyn.
sovellus/resurssit โ Se sisรคltรครค staattisia tiedostoja, joita sovelluksen kรคyttรถliittymรค tarvitsee ryhmiteltyinรค kansioihin niiden tyypin mukaan โ JavaKรคsikirjoitus tiedostot, kuvat ja tyylisivut.
sovellus/apuohjelmat โ Tรคmรค alihakemisto sisรคltรครค aputoimintoja, jotka tekevรคt sovellusmallista, nรคkymรคstรค ja ohjainlogiikasta keskittyneen, pienen ja selkeรคn.
sovellus/mallit โ Tรคmรค sisรคltรครค tiedostoja
joka mallintaa sovelluksesi tietokannan. Malliluokat tekevรคt tietokannan kanssa tyรถskentelystรค erittรคin helppoa.
sovellus/nรคkymรคt โ Nรคmรค sรคilytysmalli-/asettelutiedostot, joiden kanssa sovelluksesi kรคyttรคjรค on vuorovaikutuksessa. Mallit ovat yhdistelmรค HTML-koodia ja tietokannan tietoja.
roskakori โ Se sisรคltรครค Rails-skriptejรค, jotka kรคynnistรคvรคt sovelluksesi. Se voi sisรคltรครค myรถs muita komentosarjoja, joita kรคytรคt sovelluksen mรครคrittรคmiseen ja pรคivittรคmiseen.
Konfig - Tรคmรค sisรคltรครค mรครคritystiedostoja - tietokanta.yml, ympรคristรถ.rb, reitit.rbjne., jotka sovelluksesi on suoritettava.
DB โ Tรคmรค hakemisto sisรคltรครค tiedostoja/komentosarjoja, joita kรคytetรครคn sovellustietokannan hallintaan.
lib โ Tรคmรค hakemisto sisรคltรครค laajennetun moduulin sovelluksellesi.
Hirsi - Tรคmรค sisรคltรครค lokitiedostoja - server.log, development.log, test.log ja production.logjne., joita kรคytetรครคn virheenkorjaukseen tai sovelluksesi valvontaan.
yleisรถ - Tรคmรค hakemisto sisรคltรครค staattisia tiedostoja ja koottuja resursseja, kuten HTML-tiedostoja, Javascript tiedostot, kuvat ja tyylisivut.
testi - Tรคmรค hakemisto sisรคltรครค testitiedostot, jotka kirjoitat testataksesi sovelluksesi toimivuutta.
tmp - Tรคmรค hakemisto sisรคltรครค vรคliaikaisia โโtiedostoja, kuten vรคlimuisti- ja pid-tiedostoja.
myyjรค - Tรคmรค hakemisto sisรคltรครค kolmannen osapuolen kirjastoja.
Gemfile - Tรคmรค tiedosto mรครคrittรครค, mitkรค perushelmivaatimukset ovat verkkosovelluksesi kรคyttรคmiselle. Voit ryhmitellรค jalokivet kehitys-, testaus- tai tuotantoryhmiin, ja Rails tietรครค, milloin kukin jalokivi tulee sisรคllyttรครค.
Gemfile.lock โ Toisin kuin Gemfile, joka nimenomaisesti luettelee sovellukseesi haluamasi jalokivet, Gemfile.lock sisรคltรครค lisรคksi muita jalokiviรค, joista Gemfilessรค listaamasi jalokivet riippuvat ja jotka asennetaan sitten automaattisesti riippuvuuksien tรคyttรคmiseksi.
Readme.md โ Tรคmรคn tiedoston avulla voit jakaa tรคrkeitรค tietoja sovelluksestasi, kuten mitรค sovellus tekee, kuinka sovellus asennetaan ja suoritetaan.
Rakefile - Tรคmรค tiedosto sisรคltรครค erilaisia โโrake-tehtรคvien mรครคritelmiรค, jotka auttavat automatisoimaan sovelluksesi pรคivittรคisiรค hallintotehtรคviรค.
config.ru - Tรคmรค on telineen mรครคritystiedosto, joka tarjoaa kรคyttรถliittymรคn verkkopalvelimelle sovelluksen kรคynnistรคmiseksi.
Vaihda hakemistoon "todo_app" hakemistokiskot luodaan ja suoritetaan "rails palvelin" kรคynnistรครคksesi sovelluksen. Tyyppi localhost: 3000 Web-selaimesi osoitepalkissa sinun pitรคisi nรคhdรค alla oleva kuva, jos kaikki meni hyvin.
Tรคmรค on sovelluksesi oletuskotisivu, ja muutat tรคmรคn tรคmรคn Ruby on Rails -opetusohjelman myรถhemmรคssรค osassa. Voit pysรคyttรครค palvelimen painamalla "Ctrl-C".
Rails โ Luo komentoja
Rails generoida -komento kรคyttรครค malleja luodakseen paljon hyรถdyllisiรค asioita sovellukseesi. Voit kรคyttรครค nรคitรค generaattoreita sรครคstรครคksesi paljon aikaa.
Se auttaa kirjoittamalla yleiskoodin, koodin, joka on vรคlttรคmรคtรถn verkkosovelluksesi toimimiseksi. Voit juosta "raidat tuottavat" yksinรครคn komentokehotteessa tai terminaalissa nรคhdรคksesi luettelon kรคytettรคvissรค olevista generaattoreista alla olevan kuvan mukaisesti:
Voit myรถs ajaa 'kiskot luovat "komennon"' nรคhdรคksesi kuvauksen siitรค, mitรค komento tekee. Se tarjoaa kรคteviรค vaihtoehtoja, jotka voidaan suorittaa komennon ja kรคyttรถesimerkin avulla. Alla olevassa kuvassa nรคkyy juoksemisen tulos"kiskot luovat ohjaimen":
Kรคytรคt kiskojen generointi teline -komentoa luodaksesi automaattisesti mallin, nรคkymรคn ja ohjaimen rakentamallesi tehtรคvรคlistasovellukselle. Juosta' rails generoi scaffold todo_list title:string description: text' terminaalissasi (tarkista, ettรค olet edelleen todo_app-hakemistossa).
Tรคmรค luo tรคydellisen CRUD-verkkoliittymรคn (Luo, lue, pรคivitรค ja poista) TodoLists-taulukolle.
Toinen hyรถdyllinen komennon tietรครค on 'raiteet tuhoavat' se kรครคntรครค mitรค tahansa "kiskot luovat..." ei.
Kiskot โ reititys
Rails-reititysjรคrjestelmรค, kiskoreititin, kรคsittelee kaikki verkkosovellukseesi saapuvat pyynnรถt. Se tekee tรคmรคn tutkimalla saapuvien pyyntรถjen URL-osoitteita ja yhdistรคmรคllรค sitten jokaisen pyynnรถn sen kรคsittelystรค vastaavaan ohjaintoimintoon kรคyttรคmรคllรค reittitiedostossa mรครคritettyรค erityistรค syntaksia (config/routes.rb).
Reittitiedosto auttaa hallitsemaan verkkosovelluksesi kaikkia URL-osoitteita. Kiskot kรคyttรคvรคt oletusarvoisesti REST-arkkitehtuurityyliin perustuvaa RESTful-suunnittelua, joka tarjoaa HTTP-verbien ja pyyntรถjen (URL-osoitteiden) yhdistรคmisen ohjaimen toimiin.
Reittitiedosto luotiin, kun juoksit "raidat uudet" tรคmรคn opetusohjelman aikaisemmassa osassa. Jatka rakentamassasi Todo-sovelluksessa, suorita seuraava'rails db:migrate' (Saat tietรครค mitรค tรคmรค tekee pian)
Varmista komentorivillรค, ettรค olet edelleen sovelluksen juuressa (todo_app-hakemisto).
Kรคynnistรค sitten palvelin uudelleen komennolla "rails palvelin". Tyyppi http://localhost:3000/todo_lists/ selaimessasi ja paina Enter. Sinun pitรคisi saada takaisin verkkosivu, kuten alla olevassa Ruby on Rails -esimerkin kuvassa nรคkyy:
Tรคmรค on Todo-luetteloiden nรคkymรค, jonka scaffold-komento luo, ja sitรค ohjaa TodoListsControllerin indeksitoiminto.
Siirry eteenpรคin ja lisรครค tehtรคvรคlista napsauttamalla sivulla olevaa "Uusi tehtรคvรคlista" -painiketta, niin sinun pitรคisi saada sivu alla olevan kuvan mukaisesti:
Huomaa, ettรค URL-osoite on muutettu muotoon http://localhost:3000/todo_lists/new. Tรคmรค on sivu, jolla luodaan uusi tehtรคvรคlista, ja sitรค ohjaa TodoListsControllerin uusi menetelmรค/toiminto.
Kirjoita tehtรคvรคluettelosi otsikko ja kuvaus lomakkeeseen ja napsauta Luo tehtรคvรคlista -painiketta, jonka URL-osoitteen pitรคisi muuttua http://localhost:3000/todo_lists/1, joka nรคkyy alla olevassa kuvassa Ruby on Rails -koodiesimerkistรค:
Tรคmรค on tehtรคvรคluettelon esityssivu, ja sitรค ohjaa TodoListsControllerin esitystapa/toiminto. Jos palaat asiaan http://localhost:3000/todo_lists/, sinun pitรคisi nyt nรคhdรค alla oleva kuva, johon on lisรคtty uusi tehtรคvรคlista:
Rails pystyi yhdistรคmรครคn eri pyynnรถt (URL-osoitteet) vastaavaan TodoListsControllerin toimintoon kรคyttรคmรคllรค config/routes.rb:n reitin mรครคritelmรครค.
Jos kurkistat tรคhรคn tiedostoon, nรคet yhden rivin "resurssit: todo_lists", on Rails oletustapa kirjoittaa rauhallisia reittejรค. Tรคmรค yksittรคinen rivi luo seitsemรคn reittiรค, jotka kaikki kartoitetaan TodoLists-ohjaimeen.
Sopimuksen mukaan kunkin ohjaimen toiminto liittyy myรถs tiettyyn tietokannan CRUD-toimintoon (Create, Read, Update ja Delete).
Voit ajaa "haravareitit" komentorivillรค nรคhdรคksesi sovelluksessasi kรคytettรคvissรค olevat reitit. Alla olevassa kuvassa nรคkyy juoksemisen tulos "raidereitit" komentorivillรคsi/pรครคtteessรคsi.
Kiskot โ nรคkymรคt
View-taso on yksi MVC-paradigman osista ja vastaa HTML-vastauksen luomisesta jokaiselle sovelluksesi pyynnรถlle. Rails kรคyttรครค oletuksena ERB:tรค (Embedded Ruby), joka on tehokas mallijรคrjestelmรค Rubylle.
ERB tekee kirjoituspohjien kirjoittamisesta helppoa ja yllรคpidettรคvรครค yhdistรคmรคllรค pelkkรครค tekstiรค Ruby-koodiin muuttujien korvaamista ja virranhallintaa varten. ERB-mallissa on .html-, .erb- tai .erb-pรครคte.
Kรคytรคt enimmรคkseen vain kahden tagimerkin yhdistelmรครค, joista kumpikin saa aikaan upotetun koodin kรคsittelyn ja kรคsittelyn tietyllรค tavalla.
Tunniste, jossa on yhtรคlรคisyysmerkki '<%= %>' ilmaisee, ettรค upotettu koodi on lauseke ja ettรค koodin tulos tulee korvata renderรถijalla, kun se hahmontaa mallin.
Toinen tunniste ilman yhtรคlรคisyysmerkkiรค '<% %>' ilmaisee renderรถijรคlle, ettรค koodin tulosta ei tule korvata/tulostaa, kun se renderรถi mallin.
Jokaisella Rails-sovelluksesi ohjaimella on vastaava alihakemisto sovellus/nรคkymรคt, ja jokaisella ohjaimen toiminnolla/menetelmรคllรค on vastaavat .html- ja .erb-tiedostot tรคssรค hakemistossa.
Katso rakentamasi todo-sovelluksen sovellusta/nรคkymiรค. Lรถydรคt alihakemiston nimeltรค 'todo_lists' tรคmรคn alihakemiston sisรคllรค .html.erb tiedostot, joiden nimet vastaavat sovelluksen toimintoja/menetelmiรค TodoLists ohjain.
Kiskot โ ActiveRecord, Active Record Pattern ja ORM
ActiveRecord on Active Record -mallin Ruby-toteutus, joka on yksinkertainen malli, jossa luokka edustaa taulukkoa ja luokan esiintymรค edustaa riviรค kyseisessรค luokassa.
ActiveRecordista kรคytetรครคn yleisesti nimitystรค ORM (Object Relational Mapping), tekniikka, jonka avulla voit hallita tietokantaasi kielellรค, jota kรคytรคt parhaiten. Se on tietokanta-agnostikko, joten voit helposti vaihtaa tietokantojen vรคlillรค (esim SQLite, MySQL, PostgreSQL, SQL-palvelin, Oracle, jne.). Tรคmรค sarja sopii paremmin hakemuksesi vaatimuksiin samalla koodilla/logiikalla.
Joten jos haluat saada taulukon, joka sisรคltรครค luettelon kaikista sovelluksesi tehtรคvรคluetteloista, niin sen sijaan, ettรค kirjoitat koodia yhteyden muodostamiseksi tietokantaan, tee jonkinlainen SQL SELECT -kysely ja muunna tulokset joukko.
Tรคtรค varten sinun tarvitsee vain kirjoittaa "TodoList.all" ja Active Record antaa sinulle taulukon, joka on tรคynnรค TodoList-objekteja, joilla voit pelata haluamallasi tavalla.
Sinun tarvitsee vain mรครคrittรครค oikea kokoonpano config/database.yml, ja Active Record selvittรครค kaikki erot eri tietokantajรคrjestelmien vรคlillรค. Joten kun vaihdat yhdestรค toiseen, sinun ei tarvitse ajatella sitรค.
Keskityt sovelluksesi koodin kirjoittamiseen, ja Active Record harkitsee matalan tason yksityiskohtia yhdistรคessรคsi sinut tietokantaasi. Active Record kรคyttรครค nimeรคmiskรคytรคntรถjรค luodessaan kartoituksen mallien ja tietokantataulukoiden vรคlillรค.
Rails moninkertaistaa malliluokkien nimet lรถytรครคkseen vastaavan tietokantataulukon. Joten luokalle TodoList ActiveRecord luo tietokantataulukon nimeltรค TodoLists.
Kiskot โ muuttoliikkeet
Rails-siirto on yksinkertaisesti komentosarja, jota kรคytรคt sovellustietokannan muokkaamiseen. Sitรค kรคytetรครคn tietokannan mรครคrittรคmiseen tai muuttamiseen, ja se vรคlttรครค manuaalisen SQL-koodin kirjoittamisen tรคtรค varten.
Se kรคyttรครค Rubya mรครคrittรคmรครคn muutoksia tietokantaskeemaan ja mahdollistaa versionhallinnan avulla tietokanta synkronoinnin.
Rails Migrations kรคyttรครค Ruby Domain Specific Language (DSL) -kieltรค. Tรคmรค toimii abstraktiona ja mahdollistaa tietokantamoottorin kรคytรถn tai muuttamisen tarpeidesi mukaan.
Ne voidaan jakaa kenen tahansa sovelluksen parissa tyรถskentelevien kanssa, ja ne voidaan myรถs palauttaa tietokantaan tehtyjen muutosten kumoamiseksi. Tรคmรค on korkea turvamekanismi, koska sinun ei tarvitse huolehtia pysyvรคn vahingon tekemisestรค tietokantallesi.
Rails โ ActiveRecord-yhdistykset
Kahden ActiveRecord-mallin vรคlinen yhteys tunnetaan assosiaationa. Assosiaatio tekee koodin eri tietueiden toimintojen suorittamisesta paljon helpompaa. Se voidaan jakaa neljรครคn luokkaan: -
One to One: โ Tรคmรค osoittaa, ettรค tietue sisรคltรครค tรคsmรคlleen yhden esiintymรคn toisesta mallista. Hyvรค esimerkki on kรคyttรคjรคprofiili. Kรคyttรคjรคllรค on vain yksi profiili. Se kรคyttรครค on _yksi avainsana.
Yksi moniin: โ Tรคmรค on yleisin assosiaatio, ja se osoittaa, ettรค yhdessรค mallissa on nolla tai useampia esiintymiรค toisesta mallista. Sinun kรคyttรถsi on _ monta avainsana kuvaamaan tรคtรค yhteyttรค.
Monista moniin: โ Tรคmรค yhteys on hieman monimutkaisempi, ja ActiveRecord tarjoaa kaksi tapaa kรคsitellรค sitรค. Kรคyttรคmรคllรค on_ja_kuuluu_monille ja on monta, joka antaa sinulle pรครคsyn erillisessรค taulukossa mรครคritettyyn relaatioon.
Polymorfinen yksi monille:- Tรคmรค on edistyneempi yhdistys, joka on kรคytettรคvissรคsi Railsissa. Voit kรคyttรครค sitรค mรครคrittรคmรครคn mallin, joka voi kuulua useisiin eri malleihin yhdessรค assosiaatiossa.
Rails โ ActiveRecord-vahvistukset
Validointi auttaa varmistamaan, ettรค sinulla on oikeat tiedot, koska vรครคrien tietojen kรคsittely on kauhea asia ja voi maksaa sinulle rahaa ja liiketoimintaa.
Validointi tarjoaa myรถs ylimรครคrรคisen suojauskerroksen sovelluksellesi, jotta pahantahtoiset kรคyttรคjรคt eivรคt pรครคse kรคsiksi tietokannassasi oleviin tietoihin. Rails tarjoaa sinulle mukavan API:n validointiapuohjelmia ActiveRecordissa, jotta tietokanta pysyy puhtaana, suojattuna ja virheettรถmรคnรค.
ActiveRecord-tarkistukset suoritetaan malliobjekteille ennen tallennusta tietokantaan, mikรค tekee niistรค luotettavampia ja myรถs parhaita kรคytรคntรถjรค sovelluksen rakentamisessa.
Seuraavat ActiveRecord-menetelmรคt herรคttรคvรคt validointeja, kun niitรค kรคytetรครคn tai niitรค kutsutaan malliobjekteihin - luo, luo!, tallenna, tallenna!, pรคivitรค ja pรคivitรค!. Ne joilla on pamaus (luo!, tallenna! ja pรคivitรค!) herรคttรครค poikkeuksen, jos tietue on virheellinen, kun taas tothen'tt't't.
Yleisimmรคt kรคytettรคvissรคsi olevat ActiveRecord-validointiapulaiset ovat: -
Vahvistus:โ Tรคmรค vahvistusapuohjelma on hyรถdyllinen, kun vahvistetaan kaksi kenttรครค, joilla on sama merkintรค. esim. salasana ja salasanan vahvistus, sitรค kรคytetรครคn yhdessรค lรคsnรคolon vahvistusapuohjelman kanssa.
Lรคsnรคolo:โ Tรคmรค tarkistaa, ettei kenttรค ole tyhjรค.
ainutlaatuisuus: varmistaa kentรคn yksilรถllisen arvon, esim. kรคyttรคjรคtunnuksen
Pituus:- Kentรคn merkkipituuden rajoittaminen
Voit myรถs luoda mukautetun vahvistuksen kรคyttรคmรคllรค validointimenetelmรครค ja vรคlittรคmรคllรค sille mukautetun vahvistusmenetelmรคn nimen.
Voit tarkistaa mallin virhe vastustaa saadakseen selville, miksi validointi. Toivottavasti sinulla on ideoita tehdรค sovelluksestasi rajoitetumpi ja suojattu salliaksesi vain suojatut tiedot tietokantaasi.
Rails โ ActionController
Rails-ohjain on verkkosovelluksesi keskus. Se helpottaa ja koordinoi viestintรครค kรคyttรคjรคn, mallien ja nรคkemysten vรคlillรค.
Ohjainluokat periytyvรคt ApplicationControllerista, joka sisรคltรครค koodin, jota voidaan ajaa kaikissa muissa ohjaimissa, ja se perii ActionController-luokasta.
Ohjain tarjoaa sovelluksellesi seuraavat tiedot:
- Se reitittรครค ulkoiset pyynnรถt sisรคisiin toimiin
- Se onnistuu tallentamaan vรคlimuistiin, mikรค parantaa sovelluksesi suorituskykyรค
- Se hallitsee apumenetelmiรค, jotka laajentavat nรคkymรคmallien ominaisuuksia. Se myรถs hallitsee kรคyttรคjien istuntoja ja tarjoaa heille sujuvan kokemuksen sovelluksesi kรคytรถstรค.
Kiskot โ Kokoonpanot
Voit mรครคrittรครค eri komponentteja, kuten alustuslaitteita, resursseja, generaattoreita, vรคliohjelmistoja jne. Kรคyttรคmรคllรค Rails-sovelluksen alustuslaitteita ja konfiguraatiotiedostoja config-hakemistossa. Tiedostot, kuten config/application.rb, config/environments/development.rb ja config/environments/test.rb jne. Voit myรถs mรครคrittรครค mukautettuja asetuksia sovelluksellesi.
Rails โ Virheenkorjaus
Kun rakennat sovellustasi, tulee aika, jolloin joudut / joudut korjaamaan koodisi. Kiskot tekevรคt tรคmรคn helpoksi kรคyttรคmรคllรค byebug-helmiรค. Voit aloittaa virheenkorjausistunnon laittamalla 'byebeg'-avainsanan mihin tahansa sovelluskoodisi kohtaan.
Tรคmรค pysรคyttรครค suorituksen vรคliaikaisesti tรคssรค vaiheessa. Byebug gem antaa sinulle useita komentoja kรคytettรคvรคksi. Hyรถdyllisimmรคt ovat:
- seuraava: komento, jonka avulla voit siirtyรค seuraavalle koodiriville ohittaen kaikki nykyisen rivin suorittamisen kรคynnistรคmรคt menetelmรคt.
- vaihe: tรคmรค on samanlainen kuin 'seuraava'-komento, mutta saa sinut astumaan jokaiseen kutsuun.
- rikkoa: tรคmรค pysรคyttรครค koodin suorittamisen.
- jatkaa jatkaa suorituskoodia.
Saatavilla on muitakin virheenkorjaushelmiรค, kuten 'pry', ja ne kaikki tarjoavat samanlaisia โโtoimintoja, mutta hieman erilaisen syntaksin. Viankorjauskiviรค ei pidรค kรคyttรครค tuotannossa, koska se aiheuttaa riskejรค sovelluksellesi ja huonoja kokemuksia sovelluksesi kรคyttรคjille.
On lokitiedostoja, joista voit tarkastaa tuotannon virheitรค ja kรคsitellรค niitรค. Sinun tulee myรถs noudattaa TDD (Test-driven development) -lรคhestymistapaa sovellustasi kehittรคessรคsi varmistaaksesi, ettรค kaikki toimii hyvin ennen tuotantoon kรคyttรถรถnottoa.
Yhteenveto
- Ruby on puhdas olio-ohjelmointikieli
- Rubylla on tyylikรคs syntaksi, jota on sekรค helppo lukea ettรค kirjoittaa.
- Rails on Ruby-kielellรค kirjoitettu kehityskehys verkkosovellusten rakentamiseen
- Asennusprosessi riippuu kรคyttรถjรคrjestelmรคstรคsi.
- Rails on pakattu Ruby-helmiksi, ja voit kรคyttรครค sitรค useiden sovellusten rakentamiseen.
- Luot tehtรคvรคluettelosovelluksen tรคssรค opetusohjelmassa, luo sovellus suorittamalla followincomm'n'n' 'rails netoda'p'p'p' R-pรครคtteessรคsi.
- Rails generoida -komento kรคyttรครค malleja luodakseen paljon hyรถdyllisiรค asioita sovellukseesi.
- Rails-reititysjรคrjestelmรค, Rails-reititin auttaa sinua kรคsittelemรครคn kaikki verkkosovellukseesi saapuvat pyynnรถt.
- View-taso on yksi MVC-paradigman osista ja vastaa HTML-vastauksen luomisesta jokaiselle sovelluksesi pyynnรถlle.
- ActiveRecord on Active Record -mallin Ruby-toteutus.
- Rails-siirto on yksinkertaisesti komentosarja, jota kรคytรคt sovellustietokannan muokkaamiseen.
- Kahden ActiveRecord-mallin vรคlinen yhteys tunnetaan assosiaationa.
- Validointi auttaa varmistamaan, ettรค sinulla on oikeat tiedot, koska vรครคrien tietojen kรคsittely on kauhea asia ja voi maksaa sinulle rahaa ja liiketoimintaa.
- Rails-ohjain auttaa helpottamaan ja koordinoimaan viestintรครค kรคyttรคjรคn, mallien ja nรคkymien vรคlillรค.
- Rail auttaa sinua mรครคrittรคmรครคn eri komponentteja, kuten alustuslaitteita, resursseja, generaattoreita, vรคliohjelmistoja jne.













