Ruby on Rails opetusohjelma

⚡ Älykäs yhteenveto

Ruby on Rails -opetusohjelmassa esitellään avoimen lähdekoodin verkkosovelluskehys, joka on kirjoitettu Rubylla ja jota käytetään Airbnb:n, GitHubin ja Shopifyn pyörittämiseen. Opas kattaa asennuksen… Windows, Mac ja Linux, Rails-generaattorit, reititys, näkymät, ActiveRecord, validoinnit ja virheenkorjaus.

  • 💎 Kieli ja viitekehys: Ruby on dynaaminen, oliopohjainen kieli, joka on suunniteltu luettavuutta silmällä pitäen, ja Rails on sen pohjalta rakennettu täysimittainen MVC-kehys alustoja varten.ping verkkosovellukset nopeasti.
  • 🛠️ Eri alustojen asennus: Asenna Ruby ja Rails päälle Windows RubyInstallerilla, Macilla Homebrew'n kautta ja Ubuntu Linux apt:n kautta ja sen jälkeen Gem-asennuskiskot.
  • 🏛️ Ohjaavat periaatteet: Rails painottaa Älä toista itseäsi -periaatetta ja Konvention periaatteita konfiguroinnin sijaan, joten tiimit kirjoittavat vähemmän kaavamaista rakennetta ja noudattavat ennustettavaa projektirakennetta.
  • ⚙️ Generatorja reititys: Käytä kiskoja scaffoldien luomiseen CRUD-koodin scaffolding-menetelmällä ja luota sitten config/routes.rb-tiedostoon RESTfulin yhdistämiseksi URLs ohjaimen toimiin sekunneissa.
  • 🗄️ ActiveRecord-teho: ActiveRecord yhdistää Ruby-luokat tietokantataulukoihin, tukee migraatioita, yhdistämisiä ja validointeja sekä pitää tiedot yhdenmukaisina eri ympäristöissä.

Ruby on Rails opetusohjelma

Mikä on Ruby?

Rubiini on korkean tason, tulkittu, olio-ohjelmointikieli. Se on dynaaminen avoimen lähdekoodin kieli, jonka takana on suuri yhteisö. Ruby suunniteltiin yksinkertaisuutta ja tuottavuutta silmällä pitäen. Se kannustaa kirjoittamaan ohjelmistokoodia, jossa ihminen on ensin ja tietokone toiseksi. Yukihiro Matsumoto loi Rubyn Japanissa vuonna 1995.

Mikä on Rails?

Raiteet on Rubylla kirjoitettu kehityskehys web-sovellusten 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-prototyypille.ping ja nopeaa tuotekehitystä.

Railsin loi David Heinemeier Hansson, joka tunnetaan paremmin nimellä DHH. Se on yksi vaikutusvaltaisimmista ja suosituimmista työkaluista web-sovellusten rakentamiseen. Sitä käyttävät suuret sivustot, kuten Airbnb, GitHub ja Shopify.

Miksi Rails?

Ennen työkaluketjun asentamista on hyödyllistä ymmärtää, miksi kiskot ovat edelleen suosittu valinta laivojen rakentamiseen.ping verkkosovellukset nopeasti.

  • Rails on pakattu Ruby-helmeksi, ja voit käyttää sitä monenlaisten sovellusten rakentamiseen.
  • Sen avulla voit rakentaa tavallisia verkkosovelluksia, verkkokauppasivustoja, sisällönhallintajärjestelmiä ja paljon muuta.
  • Rails on täyden pinon kehys, joka sisältää kaiken tarvittavan tietokantapohjaisen web-sovelluksen luomiseen Model-View-Controller (MVC) -mallia käyttäen.
  • Kaikki kerrokset on suunniteltu toimimaan saumattomasti yhdessä, joten Rails-projektit tarvitsevat tyypillisesti vähemmän koodirivejä kuin vastaavat projektit muissa kehyksissä.

Kuinka ladata ja asentaa Ruby Windows

Asennusprosessi riippuu käyttöjärjestelmästäsi. Seuraavissa osioissa käsitellään Rubyn asentamista... Windows, Mac ja Linux.

Vaihe 1) Lataa Rubyinstaller.
Helpoin tapa asentaa Ruby tietokoneellesi Windows tietokone on Ruby Installerin kautta, joka on saatavilla osoitteessa https://rubyinstaller.org/.

Kun olet ladannut tiedoston, suorita asennusohjelma.

Vaihe 2) Napsauta ladattua asennusohjelmaa.
Double-napsauta ladattua asennustiedostoa, esimerkiksi rubyinstaller-2.4.1-2-x64.exe.

Vaihe 3) Hyväksy lisenssi.
Valitse ”Hyväksyn lisenssin ehdot” -valintanappi ja napsauta ”Seuraava”-painiketta. Sinun pitäisi nähdä alla oleva näyttö.

Lataa ja asenna Ruby Windows

Vaihe 4) Valitse kaksi ensimmäistä valintaruutua.
Valitse kaksi ensimmäistä valintaruutua Ruby-komentosarjojen suorittamisen helpottamiseksi.

Aloita asennus napsauttamalla “Asenna”-painiketta. Sinun pitäisi nähdä alla oleva näyttö, kun se on valmis.

Lataa ja asenna Ruby Windows

Vaihe 5) Napsauta Valmis.
Älä poista valintaa vaihtoehdosta, joka asentaa MSYS2:n. Viimeistele asennus napsauttamalla "Valmis". Näyttöön avautuu alla olevan kuvan mukainen komentokehoteikkuna.

Lataa ja asenna Ruby Windows

Vaihe 6) Asenna MSYS2.
Tässä vaiheessa asennetaan MSYS2, käännösalusta, jossa on pakettien hallintaohjelma pakettien helppoa asentamista varten. Windows.

Paina Enter-näppäintä asentaaksesi kaikki komponentit, koska niitä kaikkia tarvitaan sujuvaan Ruby on Rails -kehitysympäristöön Windows.

Lataa ja asenna Ruby Windows

Kiskojen asennus

Sinulla pitäisi olla Ruby asennettuna edellisestä osiosta. Asenna seuraavaksi Rails. Voit asentaa Railsin käyttämällä pakettia osoitteesta Rails Installer, mutta paketti ei usein toimita kaikkien vaadittujen riippuvuuksien uusinta versiota.

Jos sinulla on jo uusin Ruby ja RubyGemsin perusversio ja laajennukset asennettuna, suorita seuraava komento komentokehotteessa asentaaksesi Railsin järjestelmääsi: gem install rails.

Sinun on myös asennettava Node.js jos sinulla ei sitä vielä ole, koska jotkin Railsin tarvitsemat kirjastot vaativat sen JavaSkriptin suoritusaikainen toiminta toimii oikein. Hanki solmu osoitteesta https://nodejs.org.

Yleisempi ja suositumpi lähestymistapa Windows on käyttää Windows Linux-alijärjestelmä. Se tarjoaa GNU/Linux-ympäristön, jossa on komentorivityökalut, apuohjelmat ja yleiset sovellukset suoraan sisällä. Windows.

Rubyn asentaminen Maciin

Macissasi on jo Ruby esiasennettuna. Esiasennettu versio on kuitenkin usein vanhentunut, joten sinun kannattaa asentaa uudempi versio.

Helpoin tapa tehdä tämä on käyttää paketinhallintaa, kuten HomebrewSinun on ehkä ensin asennettava Homebrew suorittamalla alla oleva komento Pääte-ikkunassa.

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Tämä näyttää varoituksen ja kehottaa sinua antamaan salasanasi. Anna Mac-salasanasi (merkit eivät näy kirjoittaessasi) ja paina Enter-näppäintä, kun olet valmis. Suorita sitten tämä Homebrew-komento asentaaksesi Rubyn Macillesi.

brew install ruby

Suorita sitten tämä komento:

echo 'export PATH="/usr/local/bin:/usr/local/sbin:$PATH"' >> ~/.bash_profile

Tämä asettaa uuden Ruby-asennuksen järjestelmän oletusarvoiseksi Rubyksi esiasennetun Rubyn sijaan.

Vahvista asennuksen onnistuminen suorittamalla seuraava komento Pääte-ohjelmassa:

ruby --version

Tämä tulostaa asennetun Rubyn versionumeron. Tuloste näyttää suunnilleen tältä:

ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]

Rubyn asennus Ubuntu (Linux)

Helpoin tapa asentaa Ruby Ubuntu tapahtuu apt-paketinhallinnan kautta. Suorita seuraavat komennot päätteessä asentaaksesi uusimman Rubyn Ubuntu arkistot.

  • sudo apt päivitys – Tämä päivittää oletusarvon Ubuntu arkistot.
  • sudo apt install ruby-full – Tämä lataa ja asentaa uusimman Rubyn.

Vahvista asennus suorittamalla rubiini-versioTämä tulostaa asennetun Ruby-version.

Kiskojen asennus Ubuntu (Linux)

Asenna Rails Linux-koneellesi noudattamalla alla olevia ohjeita.

Vaihe 1) Päivitä jalokivihallintasi suorittamalla jalokivipäivitys –järjestelmä Pääte- tai komentokehotteessa.

Vaihe 2) ajaa Gem-asennuskiskot asentaaksesi Railsin uusimman version tietokoneellesi.

Vaihe 3) Asenna bundler gem helppoa Rails-sovelluksen gem-riippuvuuksien hallintaa varten. Suorita gem asennuspaketti.

Kaksi kiskojen periaatetta

Rails noudattaa ohjelmistosuunnittelun perusperiaatteita ja kannustaa sinuakin käyttämään niitä.

Kaksi yleisintä ovat:

  • Älä toista itseäsi (kuiva) – tämä johtaa ytimekkääseen, johdonmukaiseen ja ylläpidettävään koodiin.
  • Kokoonpanosopimus – Rails on esikonfiguroitu järkevillä oletusarvoilla, jotka sopivat yleisimpiin käyttötarkoituksiin. Tämä nopeuttaa sovelluskehitystä ja vähentää ylläpidettävän koodin määrää.

Rails – projektitiedostorakenteet

Kun Rails on asennettu järjestelmääsi, luo Rails-sovellus. Seuraavissa osioissa käydään läpi Ruby on Rails -esimerkki rakentamalla tehtävälistasovellus. Suorita seuraava komento Pääte-ohjelmassa luodaksesi sovelluksen:

rails new todo_app

Tämä komento luo hakemiston nimeltä todo_app nykyisessä hakemistossa Rails-verkkosovelluksen peruskansiorakenteella, kuten alla on esitetty.

Rails – projektitiedostorakenteet

Tässä ovat projektille luodut päähakemistot:

sovelluksen – ryhmittelee alihakemistot käyttöliittymälle/asetteluun (näkymät ja apuohjelmat), ohjaimelle (ohjaintiedostot) ja malleille (liiketoiminta-/sovelluslogiikka).

sovellus/ohjaimet – tallentaa Railsin käyttämiä ohjaintiedostoja asiakkaan pyyntöjen käsittelyyn.

sovellus/resurssit – sisältää sovelluksen käyttöliittymän tarvitsemat staattiset tiedostot tyypin mukaan ryhmiteltyinä: JavaKäsikirjoitus tiedostot, kuvat ja tyylisivut.

sovellus/apuohjelmat – sisältää apufunktioita, jotka pitävät sovellusmallisi, näkymäsi ja ohjainlogiikan keskittyneenä, pienenä ja selkeänä.

sovellus/mallit – sisältää tiedostoja, jotka mallintavat sovelluksesi tietokantaa. Malliluokat tekevät tietokannan kanssa työskentelystä erittäin helppoa.

sovellus/näkymät – sisältää malli-/asettelutiedostot, joiden kanssa sovelluksesi käyttäjä on vuorovaikutuksessa. Mallit yhdistävät HTML:ää tietokannan tietoihin.

astia – sisältää Rails-skriptejä, jotka käynnistävät sovelluksesi. Se voi sisältää myös muita skriptejä, joita käytät sovelluksen asentamiseen ja päivittämiseen.

config – sisältää asetustiedostoja, kuten tietokanta.yml, ympäristö.rb, reitit.rbjne., joita sovelluksesi tarvitsee toimiakseen.

db – sisältää tiedostoja ja komentosarjoja, joita käytetään sovellustietokannan hallintaan.

lib – sisältää laajennettuja moduuleja sovelluksellesi.

log – sisältää lokitiedostoja, kuten server.log, development.log, test.log ja production.log, käytetään sovelluksen virheenkorjaukseen tai valvontaan.

julkinen – sisältää staattisia tiedostoja ja käännettyjä resursseja, kuten HTML-tiedostoja, JavaSkriptitiedostot, kuvat ja tyylitiedostot.

testi – sisältää testitiedostoja, joita kirjoitat sovelluksesi toiminnallisuuden testaamiseksi.

tmp – sisältää väliaikaisia ​​tiedostoja, kuten välimuistin ja pid-tiedostot.

myyjä – sisältää kolmannen osapuolen kirjastoja.

Gemfile – määrittää web-sovelluksesi suorittamiseen tarvittavat perusvaatimukset gem-elementeille. Voit ryhmitellä gem-elementit kehitys-, testi- tai tuotantoympäristöihin, ja Rails tietää, milloin kukin elementti on sisällytettävä.

Gemfile.lock – toisin kuin Gemfile, joka listaa erikseen sovellukseesi haluamasi jalokivet, Gemfile.lock sisältää lisäksi muita jalokiviä, joista Gemfile-tiedostossa luetellut jalokivet ovat riippuvaisia. Nämä asennetaan automaattisesti riippuvuuksien täyttämiseksi.

Readme.md – käytä tätä tiedostoa jakaaksesi olennaisia ​​tietoja sovelluksestasi, kuten mitä sovellus tekee ja miten se asennetaan ja suoritetaan.

Rakefile – sisältää erilaisia ​​rake-tehtävämääritelmiä, jotka auttavat automatisoimaan sovelluksesi päivittäisiä hallintatehtäviä.

config.ru – räkin määritystiedosto, joka tarjoaa rajapinnan web-palvelimelle sovelluksesi käynnistämiseksi.

Vaihda hakemistoon todo_app hakemistokiskot luodaan ja suoritetaan kiskopalvelin käynnistääksesi sovelluksen. Tyyppi localhost: 3000 verkkoselaimesi osoiterivillä. Jos kaikki meni hyvin, sinun pitäisi nähdä alla oleva näyttö.

Rails – projektitiedostorakenteet

Tämä on sovelluksesi oletusarvoinen kotisivu. Voit muuttaa sitä tämän Ruby on Rails -opetusohjelman myöhemmässä osiossa. Voit pysäyttää palvelimen painamalla Ctrl + C.

Kiskot – Luo komentoja

Rails-generointikomento käyttää malleja luodakseen monia hyödyllisiä asioita sovellukseesi. Nämä generaattorit säästävät paljon aikaa.

He kirjoittavat mallikoodia, joka on välttämätön verkkosovelluksesi toiminnalle. kiskot tuottavat yksinään komentokehotteessa tai Päätteessä nähdäksesi luettelon käytettävissä olevista generaattoreista, kuten alla on esitetty.

Rails – Luo komentoja

Voit myös ajaa kiskot tuottavat nähdäksesi kuvauksen komennon toiminnasta. Se listaa käteviä vaihtoehtoja ja käyttöesimerkin. Alla oleva kuva näyttää komennon running tulosteen. kiskot generoivat ohjaimen.

Rails – Luo komentoja

Käytä rails generate scaffold -komentoa luodaksesi automaattisesti mallin, näkymän ja ohjaimen rakentamallesi Todo list -sovellukselle. Suorita seuraava komento päätteessä (varmista, että olet edelleen todo_app hakemisto):

rails generate scaffold todo_list title:string description:text

Tämä luo täydellisen CRUD (Create, Read, Update, Delete) -verkkokäyttöliittymän TodoLists-taulukolle.

Toinen hyödyllinen komennon tietää on kiskot tuhoavatSe kääntää kaiken päinvastaiseksi kiskot tuottavat ei.

Kiskot – reititys

Rails-reititysjärjestelmä, jota kutsutaan Rails-reitittimeksi, käsittelee kaikki verkkosovellukseesi saapuvat pyynnöt. Se tutkii URL jokaisesta pyynnöstä ja yhdistää sen sen käsittelystä vastaavaan ohjaimen toimintoon käyttämällä reittitiedostossa määritettyä syntaksia (config/routes.rb).

Reittitiedosto ohjaa kaikkia URL web-sovelluksesi osa. Rails käyttää RESTful-suunnittelua, joka perustuu REST-arkkitehtuurityyliin ja tarjoaa kartanping HTTP-verbien ja pyynnön välillä URLs ohjaimen toimiin.

Reittitiedosto luotiin, kun juoksit kiskot uudet aiemmin. Jatka rakentamaasi Todo-sovellusta suorittamalla seuraavat toimenpiteet:

rails db:migrate

Varmista, että olet edelleen sovelluksen juuressa (esim. todo_app hakemisto).

Käynnistä palvelin uudelleen komennolla kiskopalvelin. Tyyppi http://localhost:3000/todo_lists/ selaimessasi ja paina Enter-näppäintä. Sinun pitäisi saada takaisin alla olevan kaltainen verkkosivu.

Kiskot – reititys

Tämä on tehtäväluettelonäkymä, jonka scaffold-komento loi, ja sitä ohjaa TodoListsControllerin indeksi toimintaa.

Lisää tehtävälista napsauttamalla sivulla olevaa ”Uusi tehtävälista”. Sinun pitäisi nähdä alla oleva näyttö.

Kiskot – reititys

Ilmoitus URL on nyt http://localhost:3000/todo_lists/newTämä on sivu uuden tehtävälistan luomiseksi, ja sitä ohjaa TodoListsControllerin uusi menetelmällä.

Syötä tehtävälistan otsikko ja kuvaus lomakkeeseen ja napsauta "Luo tehtävälista". URL pitäisi muuttaa http://localhost:3000/todo_lists/1, kuten alla.

Kiskot – reititys

Tämä on TodoListsControllerin ohjaaman tehtävälistan näyttösivu. näyttää menetelmä. Jos palaat takaisin http://localhost:3000/todo_lists/, sinun pitäisi nyt nähdä alla oleva näyttö, johon on lisätty uusi tehtävälista.

Kiskot – reititys

Rails pystyi yhdistämään jokaisen pyynnön vastaavaan TodoListsController-toimintoon käyttämällä reittimääritelmää kohdassa config/routes.rb.

Jos katsot tätä tiedostoa, näet yhden rivin resurssit: tehtävälistat, joka on Railsin oletusarvoinen tapa kirjoittaa RESTful-reittejä. Tämä yksi rivi luo seitsemän reittiä, jotka kaikki ovat map-reittejä.ping TodoLists-ohjaimeen.

Käytännön mukaisesti jokainen ohjaimen toiminto liittyy tiettyyn CRUD-operaatioon (Create, Read, Update, Delete) tietokannassa.

ajaa kiskot reitit komentorivillä nähdäksesi sovelluksessasi käytettävissä olevat eri reitit. Alla oleva kuva näyttää komennon kiskot reitit.

Kiskot – reititys

Kiskot – Näkymät

Näkymäkerros on yksi MVC-paradigman komponenteista ja se vastaa HTML-vastauksen luomisesta jokaiselle sovelluksellesi lähetetylle pyynnölle. Rails käyttää oletuksena ERB:tä (Embedded Ruby), joka on tehokas Rubyn mallinnusjärjestelmä.

ERB helpottaa mallipohjien kirjoittamista ja ylläpitoa yhdistämällä pelkkää tekstiä Ruby-koodiin muuttujien korvaamista ja virtauksen hallintaa varten. ERB-mallipohja käyttää .html.erb laajennus.

Käytät enimmäkseen kahta tagimerkkiä, joista kumpikin aiheuttaa upotetun koodin käsittelyn ja käsittelyn tietyllä tavalla.

Yhtäsuuruusmerkillä varustettu tunniste <%= %> osoittaa, että upotettu koodi on lauseke ja koodin tulos tulisi sijoittaa tulosteeseen, kun malline renderöidään.

Toinen tunniste ilman yhtäläisyysmerkkiä <% %> ilmaisee renderöijälle, että koodin tulosta ei tule korvata tai tulostaa tulosteessa.

Jokaisella Rails-sovelluksesi ohjaimella on vastaava alihakemisto sovellus/näkymät, ja jokaisella ohjaimen toiminnolla on vastaava .html.erb tiedosto kyseisessä alihakemistossa.

Katsomaan sovellus/näkymät rakentamastasi Todo-sovelluksesta. Löydät alihakemiston nimeltä tehtävälistat sisältävä .html.erb tiedostoja, joiden nimet vastaavat kohdassa olevia toimintoja TodoLists ohjain.

Kiskot – ActiveRecord, Active Record Pattern ja ORM

ActiveRecord on Active Record -mallin Ruby-toteutus. Tässä mallissa luokka edustaa tietokantataulukkoa ja luokan instanssi edustaa riviä kyseisessä taulukossa.

ActiveRecordia kutsutaan yleisesti ORM:ksi (Object Relational Mapping) kerros, tekniikka, jonka avulla voit hallita tietokantaa sinulle parhaiten sopivalla kielellä. Se on tietokannasta riippumaton, joten voit helposti vaihtaa tietokantojen välillä – esimerkiksi SQLite, MySQL, PostgreSQL, SQL Server tai Oracle — käyttäen samaa koodia ja logiikkaa.

Esimerkiksi saadaksesi taulukon, joka sisältää kaikki sovelluksesi tehtävälistat, sinun ei tarvitse kirjoittaa koodia, joka avaa yhteyden, suorittaa SQL SELECT -kyselyn ja muuntaa tuloksen.

Kirjoitat vain TodoList.all, ja ActiveRecord palauttaa taulukon, joka on täytetty TodoList-objekteilla, joita voit käyttää haluamallasi tavalla.

Sinun tarvitsee vain määrittää asetukset kohdassa config/database.yml, ja ActiveRecord käsittelee tietokantajärjestelmien väliset erot. Kun vaihdat tietokannasta toiseen, sinun ei tarvitse kirjoittaa koodiasi uudelleen.

Sinä keskityt sovelluslogiikkaan, ja ActiveRecord hoitaa tietokantaasi yhdistämisen matalan tason yksityiskohdat. Se käyttää nimeämiskäytäntöjä mallien yhdistämiseen tietokantataulukoihin.

Rails monistaa malliluokkasi nimet löytääkseen vastaavan tietokantataulukon. Joten luokalle TehtävälistaActiveRecord käyttää tietokantataulukkoa nimeltä tehtävälistat.

Kiskot – muuttoliikkeet

Rails-migraatio on komentosarja, jota käytetään sovellustietokannan kehittämiseen. Sitä käytetään tietokannan määrittämiseen tai muuttamiseen ilman SQL-koodin manuaalista kirjoittamista.

Se käyttää Rubya tietokantarakenteen muutosten määrittelemiseen ja mahdollistaa versionhallinnan käytön tietokannan synkronoimiseksi eri ympäristöissä.

Rails-migraatiot käyttävät Ruby Domain Specific Language (DSL) -kieltä. Tämä toimii abs-tiedostona.tracja mahdollistaa tietokantamoottorin käytön tai muuttamisen tarpeidesi mukaan.

Migraatiot voidaan jakaa kenen tahansa sovelluksen parissa työskentelevän kanssa, ja ne voidaan myös peruuttaa muutosten kumoamiseksi. Tämä on vahva turvamekanismi, joten sinun ei tarvitse huolehtia tietokannan pysyvistä vaurioista.

Rails – ActiveRecord-yhdistykset

Kahden ActiveRecord-mallin välistä yhteyttä kutsutaan assosiaatioksi. Assosiaatiot helpottavat huomattavasti toimintojen suorittamista toisiinsa liittyville tietueille koodissasi. Yleisiä tyyppejä on neljä.

Yksi yhteen: 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: yleisin assosiaatio — yhdellä mallilla on nolla tai useampia esiintymiä toisesta mallista. Käytä on_monta avainsana kuvaamaan tätä yhteyttä.

Monista moneen: hieman monimutkaisempi. ActiveRecord tarjoaa kaksi tapaa käsitellä sitä: on_ja_kuuluu_monille ja has_many :läpi, joka antaa sinulle pääsyn erillisessä taulukossa määriteltyyn liitosmalliin.

Polymorfinen yksi moneen: edistyneempi assosiaatio Railsissa. Se määrittelee mallin, joka voi kuulua useisiin eri malleihin yhden assosiaation kautta.

Rails – ActiveRecord-vahvistukset

Validointi auttaa varmistamaan, että sinulla on oikeat tiedot, koska huonojen tietojen kanssa työskentely on riskialtista ja voi maksaa yrityksellesi rahaa.

Validointi tarjoaa myös ylimääräisen suojauskerroksen pahantahtoisia käyttäjiä vastaan, jotka yrittävät lisätä haitallisia tietoja tietokantaasi. Rails tarjoaa puhtaan API:n validointiavustajia ActiveRecordissa, jotka pitävät tietokantasi puhtaana, suojattuna ja virheettömänä.

ActiveRecord-validoinnit suoritetaan malliobjekteille ennen tietokantaan tallentamista, mikä tekee niistä luotettavampia ja noudattaa parhaita käytäntöjä.

Seuraavat ActiveRecord-metodit käynnistävät validointeja, kun niitä kutsutaan malliobjekteille: luo, luo!, tallenna, tallenna!, päivitä ja päivitä!Bang-versiot (luo!, tallenna! ja päivitä!) aiheuttavat poikkeuksen, jos tietue on virheellinen, kun taas ei-bang-versiot palauttavat sen sijaan arvon false.

Yleisimmät ActiveRecord-validointiapuohjelmat ovat:

  • Vahvistus: Tarkistaa, että kahdella kentällä on sama arvo, esimerkiksi salasana ja salasanan vahvistus. Sitä käytetään yhdessä läsnäolon tarkistusaputoiminnon kanssa.
  • Läsnäolo: tarkistaa, ettei kenttä ole tyhjä.
  • Ainutlaatuisuus: varmistaa, että kentällä, esimerkiksi käyttäjätunnuksella, on yksilöllinen arvo.
  • Pituus: asettaa kentän merkkipituudelle rajoituksen.

Voit myös luoda oman mukautetun validointisi käyttämällä vahvistaa menetelmä ja välittämällä sille mukautetun validointimenetelmän nimen.

Tarkista mallin virheet objekti selvittääksesi, miksi validointi epäonnistui. Tämä antaa sinulle kaiken tarvittavan sovelluksesi rajoittamiseen ja suojaamiseen, sallien vain kelvollisen datan pääsyn tietokantaan.

Rails – ActionController

Rails-ohjain on verkkosovelluksesi keskus. Se helpottaa ja koordinoi viestintää käyttäjän, mallien ja näkemysten välillä.

Ohjainluokkasi perivät ApplicationController, joka sisältää koodia, jota voidaan suorittaa kaikissa muissa ohjaimissa ja joka puolestaan ​​periytyy Toiminto-ohjain::Pohja.

Ohjain tarjoaa sovelluksellesi seuraavat tiedot:

  • Se reitittää ulkoiset pyynnöt sisäisiin toimintoihin.
  • Se hallitsee välimuistia, mikä parantaa sovelluksesi suorituskykyä.
  • Se hallitsee apumetodeja, jotka laajentavat näkymämallien ominaisuuksia, ja hallitsee myös käyttäjäistuntoja, mikä tarjoaa käyttäjille sujuvan käyttökokemuksen.

Kiskot – Kokoonpanot

Voit määrittää komponentteja, kuten alustajia, resursseja, generaattoreita ja väliohjelmia, käyttämällä Rails-sovelluksesi alustajia ja määritystiedostoja kohdassa config hakemisto. Tiedostot, kuten config/sovellus.rb, config/ympäristöt/kehitys.rbja config/ympäristöt/test.rb käytetään tässä. Voit myös lisätä mukautettuja asetuksia sovelluksellesi.

Rails – Virheenkorjaus

Kun rakennat sovellustasi, sinun on debugattava koodiasi. Rails tekee tästä helppoa byebug gem. Voit aloittaa virheenkorjausistunnon sijoittamalla avainsanan byebug missä tahansa sovelluskoodissasi.

Tämä pysäyttää suorituksen tilapäisesti siinä vaiheessa. byebug-gem tarjoaa useita komentoja. Hyödyllisimmät niistä ovat:

  • Seuraava: siirtyy seuraavalle koodiriville, ohitaping kaikki nykyisen rivin kutsumat metodit.
  • vaihe: muistuttavat seuraava, mutta astuu esiin jokaisessa kutsutussa metodissa.
  • tauko: pysäyttää koodin suorituksen.
  • jatkaa: jatkaa koodin suorittamista.

Muita virheenkorjaushelmiä on saatavilla, kuten urkkiaNe kaikki tarjoavat samanlaisia ​​toimintoja, mutta niiden syntaksi on hieman erilainen. Debugging gemejä ei tule käyttää tuotannossa, koska ne aiheuttavat riskejä sovelluksellesi ja huonon käyttökokemuksen käyttäjillesi.

Lokitiedostoja voidaan tarkastaa virheiden varalta tuotannossa ja käsitellä niiden mukaisesti. Sovellusta rakennettaessa tulisi myös noudattaa testilähtöistä kehitystä (TDD) varmistaakseen, että kaikki toimii hyvin ennen käyttöönottoa tuotantoympäristössä.

UKK

Kyllä. Rails tukee edelleen GitHubia, Shopifytä ja Basecampia, ja versioon 7 on lisätty Hotwire, karttojen tuonti ja sisäänrakennettu Trix-editorin tuki. Se on edelleen vahva valinta tiimeille, jotka tarvitsevat nopeaa iteraatiota taisteluissa testatuilla käytännöillä.

Rails käyttää Rubya, Django käyttötarkoituksiin PythonMolemmat ovat täyden pinon MVC-kehyksiä, joissa on vahvat ORM:t. Rails nojaa käytäntöihin ja koodigeneraattoreihin, kun taas Django tarjoaa hallintakäyttöliittymän ja tiukemman eksplisiittisen kokoonpanon, jota monet tiimit suosivat datapainotteisissa projekteissa.

Yleisiä käyttöönottopolkuja ovat mm. Heroku, Render, Fly.io ja AWS Capistranon tai Dockerin kautta. Useimmat tiimit kääntävät resurssit etukäteen komennolla rake assets:precompile, asettavat RAILS_ENV=production, ajavat rails db:migrate -komennon ja tarjoavat sovelluksen Puman ja Nginxin tai hallitun kuormituksen tasaajan takana.

Kyllä. Tekoälyavustajat voivat tukea malleja, ehdottaa ActiveRecord-kyselyitä, laatia RSpec-testejä ja tarkastella migraatioita. Tarkista aina luotu koodi Rails-käytäntöjä ja tietoturvaohjeita vasten ennen vahvistamista, erityisesti todennuksen ja tietokannan muutosten osalta.

Rails-sovellukset kutsuvat yleensä tekoälypalveluntarjoajia Ruby SDK:iden tai HTTP-asiakasohjelmien, kuten Faradayn, kautta, tallentavat kehotteita ja vastauksia ActiveRecord-malleihin ja jonottavat pitkiä tehtäviä Sidekiqin avulla. Gemit, kuten ruby-openai ja langchainrb, tekevät nykyaikaisten tekoälyominaisuuksien kytkemisestä yksinkertaista.

Tiivistä tämä viesti seuraavasti: