Railsin tiukkojen nimeämiskonventioiden käyttö tarkoittaa, että suuren osan ydinkoodista PITÄISI olla samassa muodossa kuka tahansa sen kirjoittaa? Sen voi kirjoittaa ystävä, kollega tai tietokone… sillä ei pitäisi olla väliä, koska samat Rails-säännöt koskevat kaikkia.
Tämä tarkoittaa, että Rails voi itse asiassa tehdä joitakin tehtäviä puolestasi!Se voi itse asiassa rakentaa asioita ja kirjoittaa koodia puolestasi…
Toiselta kieleltä kuten PHP:ltä tullessa tämä voi tuntua taikuudelta.
Pikaviite:
rails g scaffold Post name:string title:string content:textrails g controller Commentsrails g model Comment commenter:string body:text article:references
##Rails generatorRails generate-komento käyttää sovitusti suunniteltuja malleja luodakseen paljon hyödyllisiä asioita. Suorittamalla rails generate itsestään saat listan käytettävissä olevista generaattoreista:
rails generate
tai superhakkereille:
rails g
Generattoreita on paljon:
Rails:
- assets
- controller
- generator
- 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
Railsin scaffolding-työkalu on nopea tapa luoda joitakin sovelluksen tärkeimpiä koodinpätkiä. Tämä säästää paljon aikaa, kun haluat päästä nopeasti vauhtiin! (Se on super siisti!)
Riippuen siitä, mitä haluat luoda, scaffolding voi luoda automaattisesti kaikki tai yhdistelmän seuraavista:
migrationsmodelsviewscontrollersunit_tests helpersstylesheetsjavascript
Voi olla muutama muukin tiedosto, jotka se tekee… En ole varma, onko tuo täydellinen lista!
##Kokonaisen resurssin telineellistäminen
Olet telineellistämässä objektiin (yksikössä)
Jos haluat telineellistää sovelluksen, sinun on telineellistettävä jokainen resurssi kyseisen sovelluksen sisällä. Jos haluaisit tehdä esimerkiksi blogisovelluksen – voisit telineellistää koko Post-resurssin:
rails g scaffold Post
Resurssin nimen Post
täytyy olla:
- UpperCamelCase
- SINGULAR
Tämä nimi tulee olemaan mallin nimi, esim. Post. Se tulee olemaan myös ohjainluokan nimi (mutta monikossa), esim. PostsController JA taulukon nimi (mutta monikossa), esim. posts
Luokan nimen jälkeen voit lisätä taulukon sarakkeet ja niiden tietotyypit.
rails g scaffold Post name:string title:string content:text
Taulukon sarakkeiden nimien tulisi olla:
- lower_snake_case
- SINGULAR
Tämä johtuu siitä, että jokaiseen Post-kohteeseen on tarkoitus tallentaa yksi arvo jokaiseen sarakkeeseen.
Jos suorittaisit tämän telineen, se loisi nämä kaikki tiedostot:
PostControllerissa luodaan kaikki RESTful-metodit ja niillä kaikilla on vastaavat view-tiedostot.
Muutostiedoston luomisen jälkeen, jotta muutos tietokantaan voidaan tehdä, muista ajaa:
rake db:migrate
##Lisää pelkän ohjaimen luominen
Se ohjaa paljon objekteja (joten se on monikossa)
Joskus halutaan luoda pelkkä ohjain.
rails g controller Comments
Kontrollerin nimen on oltava:
- UpperCamelCase
- PLURALIZED
Tämä johtuu siitä, että kontrolleri käsittelee paljon esimerkkejä jostain objektista, joten sen pitäisi olla monikossa.
Tämä tekee nämä tiedostot:
Tämä EI luo migraatiotiedostoa tai mallitiedostoa.
##Luo vain mallin
Tuotat objektin hahmotelman (yksikössä)
Jos haluat luoda vain mallin, voit tehdä:
rails g model Comment
- UpperCamelCase
- SINGULAR
Voit halutessasi lisätä myös sarakkeiden nimet tähän:
rails g model Comment commenter:string body:text article:references
Taulukon sarakkeiden nimet tulisi olla:
- alempi_käärmeen_kirjain
- SINGULAR
Mallin luominen luo nämä tiedostot: