Ruby on Rails'i õpetus

⚡ Nutikas kokkuvõte

Ruby on Rails'i õpetus tutvustab Ruby keeles kirjutatud avatud lähtekoodiga veebiraamistikku, mis toetab Airbnb-d, GitHubi ja Shopify-d. Läbivaatus hõlmab installimist Windows, Mac ja Linux, Railsi generaatorid, marsruutimine, vaated, ActiveRecord, valideerimine ja silumine.

  • 💎 Keel ja raamistik: Ruby on dünaamiline, objektorienteeritud keel, mis on loodud loetavuse tagamiseks, ja Rails on sellele ehitatud täismahus MVC raamistik laevade jaoks.ping veebirakendused kiiresti.
  • 🛠️ Platvormideülene seadistamine: Ruby ja Railsi installimine Windows RubyInstalleri abil, Macis Homebrew kaudu ja Ubuntu Linux läbi apt-i, millele järgnevad gem install rööpad.
  • 🏛️ Juhtpõhimõtted: Rails rakendab põhimõtet „Ära korda ennast” ja „Kokkulepe” konfiguratsiooni asemel, nii et meeskonnad kirjutavad vähem malli ja järgivad etteaimatavat projektistruktuuri.
  • ⚙️ Generatorja marsruutimine: Kasutage CRUD-koodi tellingute loomiseks rööpaid ja seejärel tuginege RESTfuli kaardistamiseks config/routes.rb-le URLs kontrolleri toiminguteni sekunditega.
  • 🗄️ ActiveRecord Power: ActiveRecord seob Ruby klassid andmebaasi tabelitega, toetab migratsioone, seoseid ja valideerimisi ning hoiab andmed keskkondades ühtsena.

Ruby on Rails'i õpetus

Mis on Ruby?

rubiin on kõrgetasemeline, interpreteeritud, objektorienteeritud programmeerimiskeel. See on dünaamiline avatud lähtekoodiga keel, mille taga on suur kogukond. Ruby loodi lihtsuse ja produktiivsuse huvides. See julgustab kirjutama tarkvarakoodi, mis on inimene-esikohal ja arvuti-järgnev. Yukihiro Matsumoto lõi Ruby Jaapanis 1995. aastal.

Mis on Rails?

Rails on Ruby keeles kirjutatud arendusraamistik veebirakenduste loomiseks. See loodi Basecampi rakenduse aluseks ja seejärel avaldati avatud lähtekoodiga tarkvarana 2004. aastal. Rails pakub palju sisseehitatud standardfunktsioone ja -funktsioone, mis teeb sellest sobiva valiku MVP prototüübi jaoks.ping ja kiire tootearendus.

Railsi lõi David Heinemeier Hansson, rahva seas tuntud kui DHH. See on üks mõjukamaid ja populaarsemaid veebirakenduste loomise tööriistu. Seda kasutavad suured saidid nagu Airbnb, GitHub ja Shopify.

Miks Rails?

Enne tööriistaketi paigaldamist on kasulik mõista, miks Rails on laevade jaoks endiselt populaarne valik.ping veebirakendused kiiresti.

  • Rails on pakendatud Ruby pärlina ja seda saab kasutada väga erinevate rakenduste loomiseks.
  • See võimaldab teil luua tavalisi veebirakendusi, e-kaubanduse saite, sisuhaldussüsteeme ja palju muud.
  • Rails on täisfunktsionaalne raamistik, mis sisaldab kõike, mida vajate andmebaasipõhise veebirakenduse loomiseks, kasutades mustrit Model-View-Controller (MVC).
  • Kõik kihid on loodud sujuvalt koos töötama, seega vajavad Railsi projektid tavaliselt vähem koodiridu kui samaväärsed projektid teistes raamistikes.

Kuidas Ruby alla laadida ja installida Windows

Installiprotsess sõltub teie operatsioonisüsteemist. Järgmistes osades käsitletakse Ruby installimist Windows, Mac ja Linux.

Step 1) Laadige alla Rubyinstaller.
Lihtsaim viis Ruby installimiseks oma Windows arvuti on Ruby Installeri kaudu, mis on saadaval aadressil https://rubyinstaller.org/.

Pärast allalaadimist käivitage installija.

Step 2) Klõpsake allalaaditud installifailil.
Double-klõpsake näiteks allalaaditud installifailil rubyinstaller-2.4.1-2-x64.exe.

Step 3) Nõustu litsentsiga.
Valige raadionupp „Nõustun litsentsitingimustega“ ja klõpsake nuppu „Järgmine“. Peaksite nägema allolevat ekraani.

Laadige alla ja installige Ruby Windows

Step 4) Märkige kaks esimest märkeruutu.
Ruby skriptide käitamise hõlbustamiseks märkige kaks esimest märkeruutu.

Installi alustamiseks klõpsake nuppu „Installi“. Kui see on lõppenud, peaksite nägema allolevat ekraani.

Laadige alla ja installige Ruby Windows

Step 5) Klõpsake nuppu Lõpeta.
Ärge eemaldage linnukest valiku ees, mis installib MSYS2. Installi lõpuleviimiseks klõpsake nuppu „Valmis“. Avaneb käsurea aken, nagu allpool näidatud.

Laadige alla ja installige Ruby Windows

Step 6) Paigaldage MSYS2.
See samm installib MSYS2, mis on ehitusplatvorm, millel on paketihaldur pakettide hõlpsaks installimiseks Windows.

Kõigi komponentide installimiseks vajutage sisestusklahvi (Enter), kuna need kõik on Ruby on Railsi arenduskeskkonna sujuvaks toimimiseks vajalikud. Windows.

Laadige alla ja installige Ruby Windows

Rööbaste paigaldamine

Eelmises jaotises kirjeldatud Ruby peaks olema installitud. Järgmisena installige Rails. Railsi saate installida paketi abil, mis asub aadressil Rööbaste paigaldaja, kuid pakett ei sisalda sageli iga vajaliku sõltuvuse uusimat versiooni.

Kui sul on juba installitud uusim Ruby ja RubyGemsi baasversioonid ning laiendused, käivita lihtsalt käsurealt järgmine käsk, et Rails oma süsteemi installida: gem install rails.

Samuti peate installima Node.js kui sul seda veel pole, sest mõned Railsi jaoks vajalikud teegid seda vajavad JavaSkripti käitusaeg korrektseks toimimiseks. Hankige sõlm aadressilt https://nodejs.org.

Levinum ja eelistatum lähenemisviis Windows on kasutada Windows Linuxi alamsüsteem. See pakub GNU/Linuxi keskkonda koos käsurea tööriistade, utiliitide ja tavaliste rakendustega otse sees. Windows.

Ruby installimine Maci

Sinu Macil on Ruby juba eelinstallitud. Eelinstallitud versioon on aga sageli aegunud, seega peaksid installima uuema versiooni.

Lihtsaim viis selleks on kasutada paketihaldurit, näiteks HomebrewVõimalik, et peate esmalt installima Homebrew'i, käivitades terminalis alloleva käsu.

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

See kuvab hoiatuse ja palub teil sisestada parooli. Sisestage oma Maci parool (tähemärgid ei ilmu tippimise ajal) ja vajutage sisestusklahvi (Enter). Seejärel käivitage see Homebrew' käsk Ruby installimiseks oma Maci.

brew install ruby

Seejärel käivitage see käsk:

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

See määrab uue Ruby installi teie süsteemis vaikimisi Rubyksi eelinstallitud Ruby asemel.

Installi õnnestumise kinnitamiseks käivitage terminalis järgmine käsk:

ruby --version

See kuvab teie installitud Ruby versiooninumbri. Väljund näeb välja umbes selline:

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

Ruby installimine Ubuntu (Linux)

Lihtsaim viis Ruby installimiseks Ubuntu toimub apt paketihalduri kaudu. Uusima Ruby installimiseks käivitage terminalis järgmised käsud: Ubuntu hoidlad.

  • sudo apt uuendatud – See uuendab vaikesätet Ubuntu hoidlad.
  • sudo apt install ruby-full – See laadib alla ja installib uusima Ruby.

Installi kinnitamiseks käivitage rubiin-versioonSee kuvab installitud Ruby versiooni.

Rööbaste paigaldamine Ubuntu (Linux)

Railsi installimiseks oma Linuxi masinasse järgige alltoodud samme.

Step 1) Värskenda oma kalliskivide haldurit, käivitades kalliskivide värskendussüsteem terminalis või käsureal.

Step 2) jooks gem paigaldusrööpad Railsi uusima versiooni installimiseks arvutisse.

Step 3) Railsi rakenduse Gem-sõltuvuste hõlpsaks haldamiseks installige bundler gem. Käivitage gem install bundler.

Rööbaste kaks põhimõtet

Rails järgib tarkvara disaini põhiprintsiipe ja julgustab ka teid neid kasutama.

Kaks kõige levinumat on:

  • Ära korda ennast (KUIV) – see viib kokkuvõtliku, järjepideva ja hooldatava koodini.
  • Konventsioon üle konfiguratsiooni – Rails on eelkonfigureeritud mõistlike vaikesätetega, mis sobivad enamiku tavakasutusega. See muudab rakenduste arendamise kiireks ja jätab teile vähem koodi hooldada.

Rööpad – projektifailistruktuurid

Kui Rails on teie süsteemi installitud, looge Railsi rakendus. Järgmistes osades tutvustatakse Ruby on Railsi näidet, luues ülesannete nimekirja rakenduse. Rakenduse loomiseks käivitage terminalis järgmine käsk:

rails new todo_app

See käsk loob kataloogi nimega todo_app praeguses kataloogis Railsi veebirakenduse põhilise kaustastruktuuriga, nagu allpool näidatud.

Rööpad – projektifailistruktuurid

Siin on projekti jaoks loodud peamised kataloogid:

app – rühmitab alamkatalooge kasutajaliidese/paigutuse (vaated ja abifailid), kontrolleri (kontrollerite failid) ja mudelite (äri-/rakendusloogika) jaoks.

rakendus/kontrollerid – salvestab kontrollerifaile, mida Rails kasutab kliendi päringute käsitlemiseks.

rakendus/varad – sisaldab rakenduse esiotsa jaoks vajalikke staatilisi faile, mis on rühmitatud tüübi järgi: JavaScript failid, pildid ja laaditabelid.

rakendus/abilised – sisaldab abifunktsioone, mis hoiavad teie rakenduse mudeli, vaate ja kontrolleri loogika fokusseerituna, väikesena ja korrastatuna.

rakendused/mudelid – sisaldab faile, mis modelleerivad teie rakenduse andmebaasi. Mudeliklassid muudavad andmebaasiga töötamise väga lihtsaks.

rakendus/vaated – sisaldab malli-/paigutusefaile, millega teie rakenduse kasutaja suhtleb. Mallid ühendavad HTML-i andmebaasi andmetega.

konteiner – sisaldab Railsi skripte, mis käivitavad teie rakenduse. See võib sisaldada ka teisi skripte, mida kasutate rakenduse seadistamiseks ja värskendamiseks.

config – sisaldab konfiguratsioonifaile, näiteks andmebaas.yml, keskkond.rb, marsruudid.rbjne, mida teie rakendus vajab töötamiseks.

db – sisaldab faile ja skripte, mida kasutatakse teie rakenduse andmebaasi haldamiseks.

lib – sisaldab teie rakenduse jaoks laiendatud mooduleid.

logi – sisaldab logifaile, näiteks server.log, development.log, test.log ja production.log, mida kasutatakse rakenduse silumiseks või jälgimiseks.

avalik – sisaldab staatilisi faile ja kompileeritud ressursse, näiteks HTML-faile, JavaSkriptifailid, pildid ja stiililehed.

test – sisaldab testfaile, mida kirjutate oma rakenduse funktsionaalsuse testimiseks.

tmp – sisaldab ajutisi faile, näiteks vahemälu ja pid-faile.

müüja – sisaldab kolmandate osapoolte teeke.

Gemfile – määrab veebirakenduse käitamiseks vajalikud põhilised Gem-i nõuded. Gem-e saab grupeerida arendus-, testimis- või tootmiskeskkondadeks ning Rails teab, millal iga Gem-i lisada.

Gemfile.lock – erinevalt Gemfile'ist, mis loetleb otseselt rakenduses soovitud pärlid, sisaldab Gemfile.lock lisaks ka teisi pärle, millest Gemfile'is loetletud pärlid sõltuvad. Need installitakse sõltuvuste rahuldamiseks automaatselt.

Readme.md – kasutage seda faili oma rakenduse oluliste üksikasjade jagamiseks, näiteks mida rakendus teeb ning kuidas seda installida ja käivitada.

Rakefile – sisaldab erinevaid rake-ülesannete definitsioone, mis aitavad automatiseerida teie rakenduse igapäevaseid haldusülesandeid.

config.ru – Racki konfiguratsioonifail, mis pakub veebiserverile liidest teie rakenduse käivitamiseks.

Muutke kataloogi todo_app kataloog Rööpad on loodud ja käivitatud rööbaste server rakenduse käivitamiseks. Tüüp localhost: 3000 oma veebibrauseri aadressiribale. Kui kõik läks hästi, peaksite nägema allolevat ekraani.

Rööpad – projektifailistruktuurid

See on teie rakenduse vaikimisi avaleht. Seda saate muuta selle Ruby on Railsi õpetuse hilisemas osas. Serveri saate peatada, vajutades nuppu Ctrl + C.

Rööpad – käskude genereerimine

Rails generate käsk kasutab malle, et luua rakenduses palju kasulikke asju. Need generaatorid säästavad palju aega.

Nad kirjutavad mallikoodi, mis on vajalik teie veebirakenduse toimimiseks. rööpad genereerivad ise käsurealt või terminalis, et näha saadaolevate generaatorite loendit, nagu allpool näidatud.

Rööpad – genereerige käske

Saab ka joosta rööpad genereerivad , et näha käsu kirjeldust. See loetleb mugavad valikud ja kasutusnäite. Allolev joonis näitab käsu running väljundit. rööpad genereerivad kontrolleri.

Rööpad – genereerige käske

Kasutage käsku rails generate scaffold, et luua automaatselt mudel, vaade ja kontroller loodava Todo list rakenduse jaoks. Käivitage oma terminalis järgmine käsk (veenduge, et olete ikka veel todo_app kataloog):

rails generate scaffold todo_list title:string description:text

See loob TodoLists tabeli jaoks täieliku CRUD (loomine, lugemine, värskendamine, kustutamine) veebiliidese.

Veel üks kasulik käsk, mida teada saada, on rööpad hävitavadSee pöörab kõik ümber rööpad genereerivad teeb.

Rööpad – marsruutimine

Railsi marsruutimissüsteem, mida nimetatakse Railsi ruuteriks, tegeleb kõigi teie veebirakendusele saabuvate päringutega. See uurib URL iga päringu kohta ja seob selle marsruutide failis määratud süntaksi abil kontrolleri toiminguga, mis selle töötlemise eest vastutab (config/routes.rb).

Marsruudifail kontrollib iga URL aspekt teie veebirakenduses. Rails kasutab RESTful disaini, mis põhineb REST arhitektuuristiilil ja pakub kaardiping HTTP-verbide ja päringu vahel URLs kontrolleri toimingutele.

Marsruudifail loodi jooksmisel rööpad uued varem. Jätkates loodava Todo rakendusega, käivitage järgmine:

rails db:migrate

Veendu, et oled ikka veel rakenduse juurkaustas ( todo_app kataloog).

Käivitage server uuesti käsuga rööbaste server. Tüüp http://localhost:3000/todo_lists/ oma brauseris ja vajutage sisestusklahvi. Peaksite nägema sarnast veebilehte nagu alloleval pildil.

Rööpad – marsruutimine

See on ülesannete nimekirja vaade, mille genereeris scaffold käsk ja mida juhib TodoListsControlleri funktsioon. indeks action.

Lisage ülesannete nimekiri, klõpsates lehel nupul „Uus ülesannete nimekiri”. Peaksite nägema allolevat ekraani.

Rööpad – marsruutimine

Teade URL nüüd http://localhost:3000/todo_lists/newSee on leht uue ülesannete nimekirja loomiseks ja seda juhib TodoListsControlleri atribuut. uus meetod.

Sisesta vormile oma ülesannete nimekirja pealkiri ja kirjeldus ning klõpsa nupul „Loo ülesannete nimekiri“. URL peaks muutuma http://localhost:3000/todo_lists/1, nagu allpool näidatud.

Rööpad – marsruutimine

See on TodoListsControlleri poolt juhitava Todo-loendi kuvamisleht. näitama meetod. Kui te lähete tagasi http://localhost:3000/todo_lists/, peaksite nüüd nägema allolevat ekraani, kuhu on lisatud uus ülesannete loend.

Rööpad – marsruutimine

Rails suutis iga päringu vastava TodoListsController toiminguga kaardistada, kasutades marsruudi definitsiooni config/routes.rb.

Kui sa seda faili vaatad, näed sa ühte rida ressursid: ülesannete_loendid, mis on Railsi vaikeviis RESTful marsruutide kirjutamiseks. See üks rida loob seitse marsruuti, kõik kaardistavadping TodoLists kontrollerile.

Kokkuleppe kohaselt on iga kontrolleri toiming seotud andmebaasis oleva konkreetse CRUD-operatsiooniga (loomine, lugemine, värskendamine, kustutamine).

jooks rööbaste marsruudid käsureal, et näha oma rakenduses saadaolevaid erinevaid marsruute. Allolev joonis näitab käsu väljundit rööbaste marsruudid.

Rööpad – marsruutimine

Rööpad – vaated

Vaatekiht on üks MVC paradigma komponente ja vastutab HTML-vastuse genereerimise eest iga teie rakendusele saadetud päringu jaoks. Rails kasutab vaikimisi ERB-d (Embedded Ruby), mis on võimas mallide loomise süsteem Ruby jaoks.

ERB muudab mallide kirjutamise ja haldamise lihtsaks, kombineerides lihtteksti Ruby koodiga muutujate asendamiseks ja voolu juhtimiseks. ERB mall kasutab .html.erb pikendamine.

Enamasti kasutate kahte sildimarkerit, millest kumbki põhjustab manustatud koodi teatud viisil töötlemise ja käsitlemise.

Võrdusmärgiga silt <%= %> näitab, et manustatud kood on avaldis ja koodi tulemus tuleks malli renderdamisel väljundisse asendada.

Teine silt ilma võrdusmärgita <% %> näitab renderdajale, et koodi tulemust ei tohiks väljundisse asendada ega välja trükkida.

Igal teie Rails-rakenduse kontrolleril on vastav alamkataloog rakendus/vaatedja igal kontrolleri toimingul on vastav .html.erb fail selles alamkataloogis.

Heitke pilk rakendus/vaated loodavast Todo rakendusest. Leiate alamkataloogi nimega ülesannete_loendid sisaldav .html.erb failid, mille nimed vastavad toimingutele TodoLists kontroller.

Rööpad – ActiveRecord, Active Record Pattern ja ORM

ActiveRecord on Active Record mustri Ruby implementatsioon. Selles mustris esindab klass andmebaasi tabelit ja klassi eksemplar esindab selle tabeli rida.

ActiveRecordi nimetatakse tavaliselt ORM-iks (Object Relational Map)ping) kiht, tehnika, mis võimaldab teil oma andmebaasi hallata teile kõige mugavamas keeles. See on andmebaasist sõltumatu, nii et saate andmebaaside vahel hõlpsalt vahetada – näiteks SQLite, MySQL, PostgreSQL, SQL Server või Oracle — kasutades sama koodi ja loogikat.

Näiteks selleks, et saada massiiv, mis sisaldab kõiki teie rakenduses olevaid ülesannete loendeid, ei pea te kirjutama koodi, mis avab ühenduse, käivitab SQL SELECT päringu ja teisendab tulemuse.

Sa lihtsalt kirjutad TodoList.allja ActiveRecord tagastab TodoList objektidega täidetud massiivi, mida saate vastavalt oma soovile kasutada.

Teil on vaja vaid konfiguratsioon seadistada config/database.ymlja ActiveRecord tegeleb andmebaasisüsteemide erinevustega. Ühelt andmebaasilt teisele üleminekul ei pea te oma koodi ümber kirjutama.

Sina keskendud rakenduse loogikale ja ActiveRecord hoolitseb sinu andmebaasiga ühenduse loomise madalama taseme üksikasjade eest. See kasutab nimetamiskonventsioone mudelite andmebaasi tabelitega sidumiseks.

Rails jagab teie mudeli klasside nimed mitmuseks, et leida vastav andmebaasitabel. Seega klassi puhul NimekiriActiveRecord kasutab andmebaasi tabelit nimega ülesannete_loendid.

Rööpad – migratsioonid

Railsi migratsioon on skript, mida kasutate oma rakenduse andmebaasi arendamiseks. Seda kasutatakse andmebaasi seadistamiseks või muutmiseks ilma SQL-i käsitsi kirjutamata.

See kasutab Rubyt andmebaasi skeemi muudatuste määratlemiseks ja võimaldab versioonikontrolli abil hoida andmebaasi keskkondades sünkroonis.

Railsi migratsioonid kasutavad Ruby domeenispetsiifilist keelt (DSL). See toimib abs-vormingus.tracja võimaldab teie andmebaasimootorit vastavalt teie vajadustele kasutada või muuta.

Migratsioone saab jagada kõigi rakenduse kallal töötavate inimestega ja neid saab ka muudatuste tagasivõtmiseks tühistada. See on tugev turvamehhanism, seega ei pea te muretsema oma andmebaasi püsiva kahjustamise pärast.

Rööpad – ActiveRecordi ühendused

Kahe ActiveRecord mudeli vahelist seost nimetatakse seoseks. Seosed muudavad koodis seotud kirjetega toimingute tegemise palju lihtsamaks. On neli levinumat kategooriat.

Üks ühele: Kirje sisaldab täpselt ühte teise mudeli eksemplari. Hea näide on kasutajaprofiil – kasutajal on ainult üks profiil. See kasutab on_üks märksõna.

Üks paljudele: kõige levinum seos — ühel mudelil on null või rohkem teise mudeli eksemplari. Kasutage on_palju märksõna selle seose tähistamiseks.

Paljud paljudele: veidi keerulisem. ActiveRecord pakub selle käsitlemiseks kahte võimalust: on_ja_kuulub_paljudele ja has_many :läbi, mis annab teile juurdepääsu eraldi tabelis määratletud liitmismudelile.

Polümorfne ühest paljudele: Railsi keerukam assotsiatsioon. See defineerib mudeli, mis võib ühe assotsiatsiooni piires kuuluda paljudele erinevatele mudelitele.

Rööpad – ActiveRecordi kinnitused

Valideerimine aitab tagada õigete andmete olemasolu, sest halbade andmetega töötamine on riskantne ja võib teie ettevõttele raha maksma minna.

Valideerimine pakub ka täiendava turvakihi pahatahtlike kasutajate vastu, kes üritavad teie andmebaasi kahjulikke andmeid sisestada. Rails pakub ActiveRecordis puhast valideerimisabiliste API-t, mis hoiab teie andmebaasi puhta, turvalise ja veavaba.

ActiveRecordi valideerimised käivitatakse mudeli objektidel enne andmebaasi salvestamist, mis muudab need usaldusväärsemaks ja järgib parimaid tavasid.

Järgmised ActiveRecord meetodid käivitavad valideerimise, kui neid kutsutakse mudelobjektidele: loo, loo!, salvesta, salvesta!, värskenda ja värskenda!Paugu versioonid (loo!, salvesta! ja uuenda!) tekitavad erandi, kui kirje on vigane, samas kui mitte-bang versioonid tagastavad hoopis väärtuse „väär“.

Kõige levinumad ActiveRecordi valideerimisabilised on:

  • Kinnitamine: kontrollib, kas kahel väljal on sama väärtus, näiteks parool ja parooli kinnitus. Seda kasutatakse koos kohaloleku valideerimise abimehega.
  • Kohalolek: kontrollib, et väli pole tühi.
  • Ainulaadsus: tagab väljale unikaalse väärtuse, näiteks kasutajanime.
  • Length: jõustab välja tähemärkide pikkuse piirangu.

Samuti saate luua oma kohandatud valideerimise, kasutades kinnitama meetod ja edastades sellele kohandatud valideerimismeetodi nime.

Kontrollige mudeli vigu objekti, et välja selgitada, miks valideerimine ebaõnnestus. See annab teile kõik vajaliku, et muuta oma rakendus piiratumaks ja turvalisemaks, lubades andmebaasi ainult kehtivaid andmeid.

Rööpad – ActionController

Rails-kontroller on teie veebirakenduse keskpunkt. See hõlbustab ja koordineerib suhtlust kasutaja, mudelite ja vaadete vahel.

Teie kontrolleriklassid pärivad Application Controller, mis sisaldab koodi, mida saab käivitada kõigis teistes kontrollerites ja mis omakorda pärib Toimingukontroller::Baas.

Kontroller pakub teie rakendusele järgmist.

  • See suunab välised päringud sisemistele toimingutele.
  • See haldab vahemällu salvestamist, andes teie rakendusele jõudlust.
  • See haldab abimeetodeid, mis laiendavad vaatemallide võimalusi, ja haldab ka kasutajaseansse, pakkudes kasutajatele sujuvat kogemust.

Rööpad – konfiguratsioonid

Saate konfigureerida komponente, nagu initsialiseerijad, varad, generaatorid ja vahevarad, kasutades oma Railsi rakenduse initsialiseerijaid ja konfiguratsioonifaile config kataloog. Sellised failid nagu config/application.rb, config/keskkonnad/arendus.rbja config/keskkonnad/test.rb kasutatakse siin. Samuti saate oma rakenduse jaoks lisada kohandatud sätteid.

Rööpad – silumine

Rakenduse loomisel peate oma koodi siluma. Rails teeb selle lihtsaks ... abil. byebug gem. Silumisseansi saate alustada märksõna lisamisega byebug kõikjal teie rakenduse koodis.

See peatab ajutiselt täitmise sel hetkel. Byebug pärl pakub mitmeid käske. Kõige kasulikumad neist on:

  • järgmine: liigub järgmisele koodireale, jäta vaheleping kõik praeguse rea poolt välja kutsutud meetodid.
  • samm: sarnaseid järgmine, aga astub sammu iga välja kutsutud meetodi juurde.
  • paus: peatab koodi täitmise.
  • jätkake: jätkab koodi täitmist.

Saadaval on ka teisi silumispärle, näiteks piiluma. Need kõik pakuvad sarnast funktsionaalsust veidi erineva süntaksiga. Silumisotsingute pärle ei tohiks tootmiskeskkonnas kasutada, kuna need kujutavad endast ohtu teie rakendusele ja halba kogemust teie kasutajatele.

Logifaile saab tootmiskeskkonnas vigade suhtes kontrollida ja vastavalt käsitleda. Rakenduse loomisel peaksite järgima ka testimispõhist arendust (TDD), et enne tootmiskeskkonda juurutamist kõik laitmatult toimiks.

KKK

Jah. Rails toetab jätkuvalt GitHubi, Shopifyt ja Basecampi ning versioonile 7 on lisatud Hotwire, kaartide importimine ja sisseehitatud Trixi redaktori tugi. See on endiselt hea valik meeskondadele, kes vajavad kiiret iteratsiooni lahingutes testitud konventsioonidega.

Rails kasutab Rubyt, Django kasutusalad PythonMõlemad on täiskomplektsed MVC raamistikud tugevate ORM-idega. Rails tugineb konventsioonidele ja koodigeneraatoritele, samas kui Django pakub administraatoriliidest ja rangemat selgesõnalist konfiguratsiooni, mida paljud meeskonnad eelistavad andmemahukate projektide jaoks.

Levinud juurutamisteed hõlmavad järgmist Heroku, Render, Fly.io ja AWS Capistrano või Dockeri kaudu. Enamik meeskondi kompileerib varad eelnevalt käsuga rake assets:precompile, määrab RAILS_ENV=production, käivitab rails db:migrate ja pakub rakendust Puma ja Nginxi või hallatud koormuse tasakaalustaja taga.

Jah. Tehisintellekti assistendid saavad mudeleid tugistruktuurina kasutada, ActiveRecord päringuid soovitada, RSpec teste mustanditena koostada ja migratsioone üle vaadata. Enne koodi kinnitamist vaadake alati loodud kood üle Railsi konventsioonide ja turvajuhiste alusel, eriti autentimise ja andmebaasi muudatuste puhul.

Rails-rakendused kutsuvad tehisintellekti pakkujaid tavaliselt Ruby SDK-de või HTTP-klientide (nt Faraday) kaudu, salvestavad päringuid ja vastuseid ActiveRecordi mudelitesse ning panevad pikki ülesandeid järjekorda Sidekiqi abil. Sellised nüansid nagu ruby-openai ja langchainrb muudavad tänapäevaste tehisintellekti funktsioonide ühendamise lihtsaks.

Võta see postitus kokku järgmiselt: