A szigorú elnevezési konvenciók használata a Rails esetében azt jelenti, hogy sok alapvető kódnak ugyanabban a formátumban KELL lennie, bárki is írja? Írhatja egy barát, egy kolléga vagy egy számítógép… nem szabadna számítania, mert ugyanazok a Rails szabályok vonatkoznak mindenkire.
Ez azt jelenti, hogy a Rails valóban képes elvégezni néhány feladatot helyetted!Valóban képes dolgokat építeni és kódot írni helyetted…
Egy másik nyelvről, mint a PHP, ez varázslatosnak tűnhet.
Gyorshivatkozás:
rails g scaffold Post name:string title:string content:textrails g controller Commentsrails g model Comment commenter:string body:text article:references
##Rails generátorA rails generate parancs a konvenció által tervezett sablonokat használja egy csomó hasznos dolog létrehozására. A rails generate önmagában történő futtatása az elérhető generátorok listáját adja:
rails generate
vagy a szuperhackerek számára:
rails g
Egy csomó generátor van:
Rails:
- assets
- controller
- generátor
- helper
- integration_test
- mailer
- migration
- model
- observer
- performance_test
- resource
- scaffold
- scaffold_controller
- session_migration
- task
.
Coffee:
- coffee:assets
Jquery:
- jquery:install
Js:
- js:assets
##Scaffolding in Rails
A Rails scaffolding eszköze egy gyors módja annak, hogy az alkalmazás néhány fontos kódrészletét létrehozzuk. Ezzel rengeteg időt takaríthatsz meg, ha gyorsan szeretnél elindulni! (Ez szuper klassz!)
Attól függően, hogy mit akarsz létrehozni, a scaffolding képes automatikusan generálni az összeset vagy ezek kombinációját:
migrationsmodelsviewscontrollersunit_tests helpersstylesheetsjavascript
Ez lehet még néhány fájl, amit… Nem vagyok biztos benne, hogy ez egy teljes lista!
##Egy teljes erőforrás állványozása
Egy objektumhoz (egyes szám)
Ha egy alkalmazást akar állványozni, akkor az alkalmazáson belül minden egyes erőforrást állványoznia kell. Ha például egy blogoló alkalmazást akarsz készíteni – az egész Post erőforrást állványozhatod:
rails g scaffold Post
Az erőforrás neve Post
legyen:
- UpperCamelCase
- SINGULAR
Ez a név lesz a modell neve, pl. Post. Ez lesz a vezérlő osztály neve is (de többes számban), pl. PostsController ÉS a táblázat neve (de többes számban), pl. posts
Az osztály neve után hozzáadhatjuk a táblázat oszlopait és azok adattípusait.
rails g scaffold Post name:string title:string content:text
A táblázat oszlopainak neve legyen:
- lower_snake_case
- SINGULAR
Ez azért van, mert minden Post elemnek minden oszlopban egy értéket kell tárolni.
Ha ezt a scaffoldot futtatnánk, akkor a következő összes fájlt létrehozná:
A PostControllerben az összes RESTful metódus létrejön, és mindegyiknek meglesznek a megfelelő view fájljai.
A migrációs fájl létrehozása után, az adatbázisban történő módosításhoz ne felejtsük el futtatni:
rake db:migrate
##Csak egy vezérlő generálása
Sok objektumot vezérel (tehát többes számban van)
Máskor csak egy vezérlőt szeretnénk generálni.
rails g controller Comments
A vezérlő nevének így kell lennie:
- UpperCamelCase
- PLURALIZED
Ez azért van, mert egy vezérlő egy objektum sok példányát kezeli, ezért többes számban kell lennie.
Ezek a fájlok így lesznek:
NEM hoz létre migrációs fájlt vagy modellfájlt.
##Csak egy modell generálása
Egy objektum vázlatát generálja (egyes szám)
Ha csak egy modellt akar létrehozni, akkor:
rails g model Comment
- UpperCamelCase
- SINGULAR
Az oszlopneveket is hozzáadhatja, ha akarja:
rails g model Comment commenter:string body:text article:references
Ezek a táblázat oszlopnevei legyenek:
- alsó_kígyóbetű
- SINGULÁR
A modell generálásakor ezek a fájlok jönnek létre: