Ruby on Rails bemutatója

⚡ Okos összefoglaló

A Ruby on Rails bemutató bemutatja az Airbnb-t, a GitHubot és a Shopify-t működtető, Ruby nyelven írt nyílt forráskódú webes keretrendszert. A bemutató a telepítést is lefedi a következőre: Windows, Mac és Linux, Rails generátorok, útválasztás, nézetek, ActiveRecord, validációk és hibakeresés.

  • 💎 Nyelv és keretrendszer: A Ruby egy dinamikus, objektumorientált nyelv, amelyet az olvashatóság jegyében terveztek, a Rails pedig egy teljes körű MVC keretrendszer, amely erre épül a hajózási projektekhez.ping webes alkalmazások gyorsan.
  • 🇧🇷 Többplatformos beállítás: Ruby és Rails telepítése Windows RubyInstaller használatával, Macen Homebrew-n keresztül és Ubuntu Linux apt-n keresztül, majd gem telepítési sínek.
  • 🏛️ Vezérelvek: A Rails a „Ne ismételd magad” és a „Konvenció” elveket a konfiguráció helyett érvényesíti, így a csapatok kevesebb sablonos szöveget írnak, és kiszámítható projektstruktúrát követnek.
  • 🇧🇷 Generatorés útvonaltervezés: Használj síneket scaffoldak generálásához CRUD kód scaffoldozásához, majd a config/routes.rb-re támaszkodva képezd le a RESTful-t. URLmásodpercek alatt vezérlőműveletekhez.
  • 🗄️ ActiveRecord teljesítmény: Az ActiveRecord Ruby osztályokat képez le adatbázistáblákhoz, támogatja a migrációkat, asszociációkat és validációkat, és konzisztens módon tartja az adatokat a különböző környezetekben.

Ruby on Rails bemutatója

Mi az a Ruby?

Rubin egy magas szintű, interpretált, objektumorientált programozási nyelv. Dinamikus, nyílt forráskódú nyelv, mögötte egy nagy közösség áll. A Rubyt az egyszerűség és a termelékenység jegyében tervezték. Arra ösztönzi a szoftverkód írását, amely az embert helyezi előtérbe, a számítógépet pedig a második helyen. Yukihiro Matsumoto alkotta meg a Rubyt Japánban 1995-ben.

Mi az a Rails?

Rails egy Ruby nyelven írt fejlesztői keretrendszer webes alkalmazások készítéséhez. A Basecamp alkalmazás alapjaként hozták létre, majd 2004-ben nyílt forráskódú szoftverként adták ki. A Rails számos beépített szabványos funkciót és funkciót kínál, ami alkalmassá teszi MVP prototípushoz.ping és a gyors termékfejlesztés.

A Rails-t David Heinemeier Hansson, közismertebb nevén DHH alkotta meg. Ez az egyik legbefolyásosabb és legnépszerűbb eszköz webes alkalmazások készítéséhez. Olyan nagy oldalak használják, mint az Airbnb, a GitHub és a Shopify.

Miért Rails?

A toolchain telepítése előtt érdemes megérteni, miért továbbra is népszerű a Rails a hajózási szektorban.ping webes alkalmazások gyorsan.

  • A Rails egy Ruby gemként van csomagolva, és sokféle alkalmazás létrehozására használható.
  • Lehetővé teszi webes alkalmazások, e-kereskedelmi webhelyek, tartalomkezelő rendszerek és egyebek létrehozását.
  • A Rails egy teljes értékű keretrendszer, amely mindent tartalmaz, amire szükséged van egy adatbázis-vezérelt webalkalmazás létrehozásához a Model-View-Controller (MVC) minta használatával.
  • Minden réteget úgy terveztek, hogy zökkenőmentesen működjenek együtt, így a Rails projektek általában kevesebb kódsort igényelnek, mint a hasonló projektek más keretrendszerekben.

A Ruby letöltése és telepítése Windows

A telepítési folyamat az operációs rendszertől függ. A következő szakaszok a Ruby telepítését ismertetik. Windows, Mac és Linux.

Step 1) Töltsd le a Rubyinstallert.
A Ruby telepítésének legegyszerűbb módja Windows a számítógép a Ruby Installer segítségével érhető el a következő címen: https://rubyinstaller.org/.

Letöltés után futtassa a telepítőt.

Step 2) Kattintson a letöltött telepítőre.
Double-kattintson a letöltött telepítőfájlra, például rubyinstaller-2.4.1-2-x64.exe.

Step 3) Fogadja el a licencet.
Jelölje be az „Elfogadom a licenc feltételeit” választógombot, majd kattintson a „Tovább” gombra. Az alábbi képernyőt kell látnia.

Töltse le és telepítse a Rubyt Windows

Step 4) Jelöld be az első két jelölőnégyzetet.
Jelölje be az első két jelölőnégyzetet, hogy megkönnyítse a Ruby szkriptek futtatását.

Kattintson a „Telepítés” gombra a telepítés megkezdéséhez. A telepítés befejezése után az alábbi képernyőt kell látnia.

Töltse le és telepítse a Rubyt Windows

Step 5) Kattintson a Befejezés gombra.
Ne vegye ki a jelet az MSYS2 telepítését lehetővé tevő opció elől. A telepítés befejezéséhez kattintson a „Befejezés” gombra. Megnyílik egy parancssorablak, ahogy az alább látható.

Töltse le és telepítse a Rubyt Windows

Step 6) Telepítsd az MSYS2-t.
Ez a lépés telepíti az MSYS2-t, egy olyan build platformot, amely csomagkezelővel rendelkezik a csomagok egyszerű telepítéséhez a rendszerre. Windows.

Nyomja meg az Enter billentyűt az összes komponens telepítéséhez, mivel mindegyikre szükség van a zökkenőmentes Ruby on Rails fejlesztői környezethez a következőn: Windows.

Töltse le és telepítse a Rubyt Windows

Sínek telepítése

A Ruby-nak telepítve kell lennie az előző szakaszban leírtak szerint. Ezután telepítsd a Rails-t. A Rails-t a következő csomaggal telepítheted: RailsInstaller, de a csomag gyakran nem tartalmazza minden szükséges függőség legújabb verzióját.

Ha már telepítve van a legújabb Ruby és az alap RubyGems és bővítmények, egyszerűen futtassa a következő parancsot a parancssorban a Rails telepítéséhez a rendszerére: gem install rails.

Telepíteni is kell node.js ha még nincs meg, mert egyes Rails által használt könyvtárak megkövetelik a JavaA szkript futásideje megfelelő működéshez. Szerezze be a Node-ot a következő címen: https://nodejs.org.

Egy gyakoribb és előnyben részesített megközelítés a Windows az a Windows Linux alrendszer. GNU/Linux környezetet biztosít parancssori eszközökkel, segédprogramokkal és gyakori alkalmazásokkal közvetlenül a rendszeren belül. Windows.

A Ruby telepítése Macre

A Mac gépeden már előre telepítve van a Ruby. Az előre telepített verzió azonban gyakran elavult, ezért érdemes egy újabb verziót telepíteni.

Ennek legegyszerűbb módja egy csomagkezelő használata, mint például HomebrewElőször telepítenie kell a Homebrew-t az alábbi parancs futtatásával a Terminálban.

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

Ez egy figyelmeztetést jelenít meg, és kéri a jelszó megadását. Írja be a Mac jelszavát (a karakterek nem jelennek meg gépelés közben), és nyomja meg az Enter billentyűt, ha kész. Ezután futtassa ezt a Homebrew parancsot a Ruby telepítéséhez a Mac számítógépére.

brew install ruby

Ezután futtassa ezt a parancsot:

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

Ez az új Ruby telepítést állítja be alapértelmezett Rubyként a rendszeren az előre telepített Ruby helyett.

A telepítés sikerességének ellenőrzéséhez futtassa a következő parancsot a Terminálban:

ruby --version

Ez kinyomtatja a telepített Ruby verziószámát. A kimenet nagyjából így néz ki:

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

Ruby telepítése Ubuntu (Linux)

A Ruby telepítésének legegyszerűbb módja Ubuntu az apt csomagkezelőn keresztül történik. Futtassa a következő parancsokat a terminálban a legújabb Ruby telepítéséhez a következőből: Ubuntu tárolókban.

  • sudo apt frissítés – Ez frissíti az alapértelmezett Ubuntu tárolókban.
  • sudo apt install ruby-full – Ez letölti és telepíti a legújabb Ruby-t.

A telepítés megerősítéséhez futtassa a rubin – verzióEz kinyomtatja a telepített Ruby verziót.

Sínek telepítése rá Ubuntu (Linux)

Kövesse az alábbi lépéseket a Rails telepítéséhez Linux gépére.

Step 1) Frissítsd a drágakőkezelődet a futtatásával gem frissítés –rendszer a Terminálban vagy a parancssorban.

Step 2) futás gem install sínek hogy telepítse a Rails legújabb verzióját a számítógépére.

Step 3) Telepítse a bundler gem-et az egyszerű Rails alkalmazás gem függőségkezeléshez. Futtassa gem install bundler.

A sínek két alapelve

A Rails az alapvető szoftvertervezési elveket követi, és arra ösztönzi a felhasználókat is, hogy alkalmazzák őket.

A két leggyakoribb:

  • Ne ismételd magad (DRY) – ez tömör, következetes és karbantartható kódot eredményez.
  • Egyezmény a konfiguráció felett – A Rails előre konfigurált, ésszerű alapértelmezett beállításokkal rendelkezik, amelyek a leggyakoribb felhasználási módokhoz illeszkednek. Ez felgyorsítja az alkalmazásfejlesztést, és kevesebb kódot kell karbantartani.

Sínek – Projektfájl-struktúrák

Miután telepítetted a Rails programot a rendszeredre, hozz létre egy Rails alkalmazást. A következő szakaszok egy Ruby on Rails példán keresztül bemutatnak egy teendőlista alkalmazást. Futtasd a következő parancsot a Terminálban az alkalmazás létrehozásához:

rails new todo_app

Ez a parancs létrehoz egy nevű könyvtárat teendőalkalmazás az aktuális könyvtárban a Rails webalkalmazás alapvető mappaszerkezetével, az alábbiak szerint.

Sínek – Projektfájl-struktúrák

Íme a projekthez generált fő könyvtárak:

app – alkönyvtárakat csoportosít a felhasználói felület/elrendezés (nézetek és segítők), a vezérlő (vezérlőfájlok) és a modellek (üzleti/alkalmazáslogika) számára.

alkalmazás/vezérlők – tárolja a Rails által a klienstől érkező kérések kezeléséhez használt vezérlőfájlokat.

alkalmazás/eszközök – statikus fájlokat tartalmaz, amelyekre az alkalmazás front-endje szüksége van, típus szerint csoportosítva: JavaForgatókönyv fájlok, képek és stíluslapok.

alkalmazás/segítők – olyan segítőfüggvényeket tartalmaz, amelyek az alkalmazásmodellt, a nézetet és a vezérlőlogikát fókuszáltan, kis méretben és áttekinthetően tartják.

alkalmazás/modellek – olyan fájlokat tartalmaz, amelyek az alkalmazás adatbázisát modellezik. A modellosztályok nagyon megkönnyítik az adatbázissal való munkát.

alkalmazás/nézetek – tárolja azokat a sablon-/elrendezésfájlokat, amelyekkel az alkalmazás felhasználója interakcióba lép. A sablonok HTML-t kombinálnak az adatbázisból származó adatokkal.

tartó – Rails szkripteket tartalmaz, amelyek elindítják az alkalmazást. Tartalmazhat más szkripteket is, amelyeket az alkalmazás beállításához és frissítéséhez használ.

config – konfigurációs fájlokat tárol, mint például adatbázis.yml, környezet.rb, útvonalak.rbstb., amelyekre az alkalmazásodnak futnia kell.

db – az alkalmazásadatbázis kezeléséhez használt fájlokat és szkripteket tartalmazza.

lib – kibővített modulokat tartalmaz az alkalmazáshoz.

log – naplófájlokat tartalmaz, például server.log, development.log, test.log és production.log, az alkalmazás hibakereséséhez vagy monitorozásához használható.

nyilvános – statikus fájlokat és lefordított eszközöket, például HTML fájlokat tartalmaz, JavaSzkriptfájlok, képek és stíluslapok.

teszt – tesztfájlokat tartalmaz, amelyeket az alkalmazás működésének teszteléséhez ír.

tmp – ideiglenes fájlokat tartalmaz, például gyorsítótárat és pid fájlokat.

eladó – harmadik féltől származó könyvtárakat tartalmaz.

Gemfile – meghatározza a webes alkalmazás futtatásához szükséges alapvető gem-követelményeket. A gem-eket csoportosíthatod fejlesztési, tesztelési vagy éles környezetbe, és a Rails tudni fogja, mikor kell az egyes gem-eket belefoglalni.

Gemfile.lock – a Gemfile-lal ellentétben, amely explicit módon felsorolja az alkalmazásban használni kívánt gemeket, a Gemfile.lock ezen felül más, a Gemfile-ban felsorolt ​​gemeket is tartalmaz, amelyektől függenek. Ezeket a függőségek kielégítése érdekében a rendszer automatikusan telepíti.

Readme.md – ezzel a fájllal megoszthatja az alkalmazásával kapcsolatos lényeges részleteket, például azt, hogy mit csinál az alkalmazás, és hogyan kell telepíteni és futtatni.

Rakefile – különféle rake feladatdefiníciókat tartalmaz, amelyek segítenek automatizálni az alkalmazás mindennapi adminisztrációs feladatait.

config.ru – egy Rack konfigurációs fájl, amely felületet biztosít a webszervernek az alkalmazás elindításához.

Váltson könyvtárat a következőre: teendőalkalmazás könyvtár Sínek előállítása és futtatása sínkiszolgáló az alkalmazás elindításához. típus localhost: 3000 a webböngésző címsorában. Ha minden jól ment, az alábbi képernyőt kell látnia.

Sínek – Projektfájl-struktúrák

Ez az alkalmazásod alapértelmezett kezdőlapja. Ezt a Ruby on Rails oktatóanyag egy későbbi részében módosíthatod. A kiszolgálót a következő gombbal állíthatod le: Ctrl + C.

Sínek – Parancsok generálása

A Rails generate parancs sablonokat használ számos hasznos dolog létrehozásához az alkalmazásban. Ezek a generátorok sok időt takarítanak meg.

Olyan sablonkódot írnak, amely a webes alkalmazás működéséhez szükséges. sínek generálják önmagában a parancssorban vagy a Terminálban az elérhető generátorok listájának megtekintéséhez, az alábbiak szerint.

Rails – Parancsok generálása

Futni is lehet sínek generálják a parancs működésének leírását lásd. Felsorolja a hasznos opciókat és egy használati példát. Az alábbi ábra a futtatás kimenetét mutatja. sínek generálnak vezérlőt.

Rails – Parancsok generálása

Használd a rails generate scaffold parancsot a modell, a nézet és a vezérlő automatikus létrehozásához a készítendő Todo list alkalmazáshoz. Futtasd a következőt a Terminálban (győződj meg róla, hogy még mindig a teendőalkalmazás könyvtár):

rails generate scaffold todo_list title:string description:text

Ez egy teljes CRUD (Létrehozás, Olvasás, Frissítés, Törlés) webes felületet hoz létre a TodoLists táblához.

Egy másik hasznos parancs, amit tudnia kell sínek elpusztítjákMegfordítja bármit is sínek generálják igen.

Sínek – Útvonaltervezés

A Rails útválasztó rendszer, más néven Rails router, kezeli a webalkalmazáshoz bejövő összes kérést. Megvizsgálja a URL minden egyes kérésről, és leképezi azt a kezeléséért felelős vezérlőművelethez a routes fájlban megadott szintaxis használatával (config/routes.rb).

Az útvonalfájl mindent vezérel URL a webes alkalmazásod egyik aspektusa. A Rails a REST architektúra stílusán alapuló RESTful felépítést használ, amely egy térképet biztosítping a HTTP-megszólítások és a kérések között URLs a vezérlő műveleteihez.

Az útvonalfájl futás közben jött létre új sínek korábban. A Todo alkalmazás fejlesztésének folytatásához futtassa a következőket:

rails db:migrate

Győződjön meg róla, hogy továbbra is az alkalmazás gyökerénél van (a teendőalkalmazás Könyvtár).

Indítsd újra a szervert a következővel: sínkiszolgáló. típus http://localhost:3000/todo_lists/ a böngésződben, és nyomd meg az Enter billentyűt. Egy olyan weboldalnak kell visszajönnie, mint az alább látható.

Sínek – Útvonaltervezés

Ez a scaffold parancs által generált Todo listák nézete, amelyet a TodoListsController vezérel. index akció.

Teendőlista hozzáadásához kattintson az „Új teendőlista” gombra az oldalon. Az alábbi képernyőt kell látnia.

Sínek – Útvonaltervezés

Figyeljük meg a URL most http://localhost:3000/todo_lists/newEz az oldal új teendőlista létrehozásához használható, amelyet a TodoListsController vezérlője vezérel. új módszer.

Írd be a teendőlista címét és leírását az űrlapba, majd kattints a „Teendőlista létrehozása” gombra. URL -ra kell váltania http://localhost:3000/todo_lists/1, az alábbiak szerint.

Sínek – Útvonaltervezés

Ez egy teendőlista megjelenítési oldala, amelyet a TodoListsController vezérel. előadás módszer. Ha visszatérsz a http://localhost:3000/todo_lists/, most az alábbi képernyőt kell látnia, amelyen az új teendőlista látható.

Sínek – Útvonaltervezés

A Rails minden kérést a megfelelő TodoListsController művelethez tudott rendelni az útvonaldefiníció használatával config/routes.rb.

Ha ránézel erre a fájlra, egyetlen sort fogsz látni erőforrások :teendőlisták, ami a Rails alapértelmezett módja a RESTful útvonalak írásának. Ez az egyetlen sor hét útvonalat hoz létre, mindegyiket leképeziping a TodoLists vezérlőhöz.

Megállapodás szerint minden vezérlőművelet egy adott CRUD (létrehozás, olvasás, frissítés, törlés) művelethez van leképezve az adatbázisban.

futás sínek útvonalak a parancssorban, hogy megtekinthesse az alkalmazásban elérhető különböző útvonalakat. Az alábbi ábra a futtatás kimenetét mutatja sínek útvonalak.

Sínek – Útvonaltervezés

Sínek – Nézetek

A nézetréteg az MVC paradigma egyik összetevője, és felelős a HTML válaszok generálásáért az alkalmazásodhoz intézett minden egyes kérésre. A Rails alapértelmezés szerint az ERB-t (Embedded Ruby) használja, amely egy hatékony sablonrendszer a Ruby számára.

Az ERB megkönnyíti a sablonok írását és karbantartását azáltal, hogy a sima szöveget Ruby kóddal kombinálja a változók helyettesítéséhez és a folyamatvezérléshez. Az ERB sablon a következőt használja: .html.erb kiterjesztés.

Leginkább két címkejelölőt fogsz használni, amelyek mindegyike a beágyazott kód egy adott módon történő feldolgozását és kezelését okozza.

Egyenlőségjelet tartalmazó címke <%= %> azt jelzi, hogy a beágyazott kód egy kifejezés, és a kód eredményét be kell helyettesíteni a kimenetbe, amikor a sablon megjelenik.

A másik címke egyenlőségjel nélkül <% %> jelzi a renderelőnek, hogy a kód eredményét nem szabad behelyettesíteni vagy kinyomtatni a kimenetben.

A Rails alkalmazásban minden vezérlőhöz tartozik egy megfelelő alkönyvtár alkalmazás/nézetek, és a vezérlő minden műveletéhez tartozik egy megfelelő .html.erb fájl abban az alkönyvtárban.

Vessen egy pillantást alkalmazás/nézetek a létrehozott Todo alkalmazásban. Találni fog egy alkönyvtárat, amelynek neve teendőlisták tartalmazó .html.erb a műveleteknek megfelelő nevű fájlok TodoLists vezérlő.

Sínek – ActiveRecord, Active Record Pattern és ORM

Az ActiveRecord az Active Record minta Ruby implementációja. Ebben a mintában egy osztály egy adatbázistáblát jelöl, az osztály egy példánya pedig egy sort a táblában.

Az ActiveRecord-ot általában ORM-nek (Object Relational Map) nevezik.ping) réteg, egy olyan technika, amely lehetővé teszi az adatbázis kezelését a legkényelmesebben használt nyelven. Adatbázis-agnosztikus, így könnyen válthat az adatbázisok között – például SQLite, MySQL, PostgreSQL, SQL Server vagy Oracle — ugyanazt a kódot és logikát használva.

Például ahhoz, hogy egy olyan tömböt kapjunk, amely az alkalmazásunkban található összes teendőlistát tartalmazza, nem kell olyan kódot írnunk, amely megnyit egy kapcsolatot, lefuttat egy SQL SELECT lekérdezést, és konvertálja az eredményt.

Csak gépelsz TodoList.all, és az ActiveRecord visszaadja a TodoList objektumokkal töltött tömböt, amelyeket tetszés szerint használhat.

Csak be kell állítania a konfigurációt a config/database.yml, és az ActiveRecord kezeli az adatbázis-rendszerek közötti különbségeket. Amikor egyik adatbázisról a másikra vált, nem kell átírnia a kódját.

Te az alkalmazáslogikára koncentrálsz, az ActiveRecord pedig az adatbázishoz való csatlakozás alacsonyabb szintű részleteiről gondoskodik. Elnevezési konvenciókat használ a modellek adatbázistáblákhoz való leképezéséhez.

A Rails többes számba veszi a modell osztályneveit, hogy megtalálja a megfelelő adatbázistáblát. Tehát egy osztály esetében FeladatlistaAz ActiveRecord egy nevű adatbázistáblát használ. teendőlisták.

Sínek – Migrációk

A Rails migráció egy szkript, amelyet az alkalmazásadatbázis fejlesztésére használsz. Az adatbázis beállítására vagy módosítására szolgál az SQL kézi írása nélkül.

Ruby-t használ az adatbázisséma módosításainak definiálására, és lehetővé teszi a verziókövetés használatát az adatbázis környezetek közötti szinkronizálásához.

A Rails migrációk Ruby Domain Specific Language (DSL) nyelvet használnak. Ez egyfajta abszurd nyelvként működik.tracés lehetővé teszi az adatbázismotor használatát vagy módosítását az Ön igényei szerint.

A migrációk megoszthatók bárkivel, aki az alkalmazáson dolgozik, és vissza is vonhatók a változtatások. Ez egy erős biztonsági mechanizmus, így nem kell aggódnia az adatbázis maradandó károsodása miatt.

Rails – ActiveRecord társulások

Két ActiveRecord modell közötti kapcsolatot asszociációnak nevezzük. Az asszociációk sokkal könnyebbé teszik a kapcsolódó rekordokon végzett műveletek végrehajtását a kódban. Négy gyakori kategória létezik.

Egy az egyhez: Egy rekord pontosan egy másik modell példányát tartalmazza. Jó példa erre egy felhasználói profil – egy felhasználónak csak egy profilja van. A rekord a következőt használja: has_one kulcsszó.

Egy a sokhoz: a leggyakoribb asszociáció – az egyik modellnek nulla vagy több példánya van egy másik modellből. Használja a sok_van kulcsszó az asszociáció jelölésére.

Sok a sokhoz: egy kicsit bonyolultabb. Az ActiveRecord kétféleképpen kezeli: sokaknak_ van_és_tartozik és a has_sany :through, amely hozzáférést biztosít a külön táblázatban definiált illesztési modellhez.

Polimorf egytől a sokig: egy fejlettebb asszociáció a Railsben. Egy olyan modellt definiál, amely egyetlen asszociáción belül több különböző modellhez is tartozhat.

Rails – ActiveRecord érvényesítések

Az érvényesítés segít biztosítani, hogy helyes adatokkal rendelkezzen, mert a rossz adatokkal való munka kockázatos, és pénzbe kerülhet a vállalkozásának.

Az érvényesítés egy extra biztonsági réteget biztosít a rosszindulatú felhasználók ellen, akik káros adatokat próbálnak meg beilleszteni az adatbázisba. A Rails egy tiszta API-t kínál az ActiveRecord érvényesítési segédleteiből, amelyek tisztán, biztonságosan és hibamentesen tartják az adatbázist.

Az ActiveRecord validációk a modellobjektumokon futnak az adatbázisba mentés előtt, ami megbízhatóbbá teszi őket, és a legjobb gyakorlatot követi.

A következő ActiveRecord metódusok érvényesítést indítanak el, amikor modellobjektumokon hívják meg őket: létrehozás, létrehozás!, mentés, mentés!, frissítés és frissítés!A bumm verziók (hozz létre!, mentsd el! és frissítsd!) kivételt okoz, ha a rekord érvénytelen, míg a nem bang verziók hamis értéket adnak vissza.

A leggyakoribb ActiveRecord validációs segítők a következők:

  • Megerősítés: ellenőrzi, hogy két mező értéke megegyezik-e, például a jelszó és a jelszó megerősítése. A jelenlét-ellenőrzési segéddel együtt használatos.
  • Jelenlét: ellenőrzi, hogy a mező nem üres-e.
  • Egyediség: biztosítja a mező egyedi értékét, például a felhasználónév.
  • Hossz: korlátozza a mező karakterhosszát.

Saját egyéni érvényesítést is létrehozhat a használatával érvényesítse metódust, és átadja neki egy egyéni érvényesítési metódus nevét.

Ellenőrizd a modellt hibákat objektumot, hogy kiderítse, miért sikertelen volt egy érvényesítés. Ez mindent megad, amire szüksége van ahhoz, hogy alkalmazása korlátozottabb és biztonságosabb legyen, és csak érvényes adatokat engedjen be az adatbázisba.

Rails – ActionController

A Rails vezérlő a webalkalmazásának központja. Megkönnyíti és koordinálja a kommunikációt a felhasználó, a modellek és a nézetek között.

A vezérlőosztályaid ettől öröklődnek ApplicationController, amely olyan kódot tartalmaz, amely minden más vezérlőben futtatható, és amely viszont örököl a következőtől: ActionController::Base.

A vezérlő a következőket biztosítja az alkalmazáshoz:

  • Külső kéréseket belső műveletekhez irányít.
  • Kezeli a gyorsítótárat, így teljesítménynövelést biztosít az alkalmazásnak.
  • Kezeli a nézetsablonok képességeit kibővítő segítő metódusokat, valamint a felhasználói munkameneteket is kezeli, zökkenőmentes felhasználói élményt biztosítva.

Sínek – Konfigurációk

A Rails alkalmazás inicializálóinak és konfigurációs fájljainak használatával olyan komponenseket konfigurálhat, mint az inicializálók, eszközök, generátorok és köztes szoftverek. config könyvtár. Fájlok, mint például config/application.rb, config/környezetek/fejlesztés.rbés config/environments/test.rb itt használatosak. Egyéni beállításokat is hozzáadhat az alkalmazáshoz.

Sínek – Hibakeresés

Az alkalmazás fejlesztése során hibakeresésre lesz szükség a kódban. A Rails ezt megkönnyíti a következővel: bybug gem. A hibakeresési munkamenetet a kulcsszó elhelyezésével indíthatod el. bybug bárhol az alkalmazáskódban.

Ez ideiglenesen leállítja a végrehajtást ezen a ponton. A byebug gem számos parancsot kínál. A leghasznosabbak a következők:

  • következő: a kód következő sorára ugrik, kihagyjaping az aktuális sor által meghívott összes metódus.
  • lépés: hasonló következő, de minden meghívott metódusba belép.
  • szünet: leállítja a kód végrehajtását.
  • Folytatni: folytatja a kód végrehajtását.

Más hibakeresési gyöngyszemek is elérhetők, például kíváncsiskodikMindegyik hasonló funkcionalitást kínál, kissé eltérő szintaxissal. A hibakereső gemeket nem szabad éles környezetben használni, mivel kockázatot jelentenek az alkalmazásra és rossz felhasználói élményt nyújtanak.

A naplófájlok ellenőrizhetők éles környezetben előforduló hibák szempontjából, és ennek megfelelően kezelhetők. Az alkalmazás fejlesztésekor a tesztvezérelt fejlesztés (TDD) megközelítést is követni kell, hogy az éles környezetben történő telepítés előtt minden megfelelően működjön.

GYIK

Igen. A Rails továbbra is a GitHubot, a Shopifyt és a Basecampet támogatja, a 7-es verzió pedig Hotwire-t, térképek importálását és beépített Trix szerkesztőtámogatást is tartalmaz. Továbbra is jó választás azoknak a csapatoknak, akiknek gyors iterációra van szükségük csatában tesztelt konvenciókkal.

A Rails Ruby-t használ, Django használ PythonMindkettő teljes értékű MVC keretrendszer erős ORM-ekkel. A Rails a konvenciókra és a kódgenerátorokra támaszkodik, míg a Django adminisztrációs felületet és szigorúbb explicit konfigurációt kínál, amelyet sok csapat előnyben részesít az adatintenzív projektekhez.

Gyakori telepítési útvonalak közé tartozik Heroku, Render, Fly.io és AWS Capistranón vagy Dockeren keresztül. A legtöbb csapat a rake assets:precompile paranccsal előfordítja az asset-eket, beállítja a RAILS_ENV=production paramétert, lefuttatja a rails db:migrate parancsot, és Puma, valamint Nginx vagy egy menedzselt terheléselosztó mögött kiszolgálja az alkalmazást.

Igen. Az AI-asszisztensek modelleket tudnak scaffollowolni, ActiveRecord lekérdezéseket javasolhatnak, RSpec teszteket készíthetnek és áttekinthetik a migrációkat. A generált kódot mindig ellenőrizni kell a Rails konvenciók és a biztonsági irányelvek alapján, mielőtt véglegesítjük a kódot, különösen a hitelesítés és az adatbázis-módosítások esetében.

A Rails alkalmazások általában Ruby SDK-kon vagy HTTP klienseken, például a Faraday-n keresztül hívják meg az AI-szolgáltatókat, ActiveRecord modellekben tárolják a promptokat és válaszokat, és a Sidekiq segítségével sorba állítják a hosszú feladatokat. Az olyan geekek, mint a ruby-openai és a langchainrb, leegyszerűsítik a modern AI-funkciók bekötését.

Foglald össze ezt a bejegyzést a következőképpen: