Utilizarea de către Rails a unor convenții stricte de denumire înseamnă că o mulțime de coduri de bază AR TREBUI să fie în același format indiferent cine le scrie? Ar putea fi scris de un prieten, de un coleg sau de un computer… nu ar trebui să conteze pentru că aceleași reguli Rails se aplică tuturor.
Aceasta înseamnă că Rails poate face de fapt unele sarcini pentru dumneavoastră!Poate construi lucruri și scrie cod în numele dumneavoastră….
Venind de la un alt limbaj precum PHP, acest lucru poate părea magic.
Referințe rapide:
rails g scaffold Post name:string title:string content:textrails g controller Commentsrails g model Comment commenter:string body:text article:references
##Rails generatorComanda rails generate folosește șabloane concepute prin convenție pentru a crea o mulțime de lucruri utile. Rularea comenzii rails generate de una singură oferă o listă de generatoare disponibile:
rails generate
sau pentru super-hackeri:
rails g
Există o mulțime de generatoare:
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
Instrumentul scaffolding din Rails este o modalitate rapidă de a genera unele dintre cele mai importante bucăți de cod dintr-o aplicație. Acest lucru economisește o mulțime de timp atunci când doriți să începeți să funcționați rapid! (Este super tare!)
În funcție de ceea ce doriți să creați, scaffolding-ul poate genera automat toate sau o combinație de:
migrationsmodelsviewscontrollersunit_tests helpersstylesheetsjavascript
Ar mai putea fi câteva fișiere pe care le face… Nu sunt sigur că este o listă completă!”
##Scaffolding a whole resource
Schelezi lucrurile asociate cu un obiect (singular)
Dacă vrei să schelezi o aplicație, trebuie să schelezi fiecare resursă din acea aplicație. Dacă doriți să faceți o aplicație de blogging, de exemplu – ați putea structura întreaga resursă Post:
rails g scaffold Post
Numele resursei Post
trebuie să fie:
- UpperCamelCase
- SINGULAR
Acest nume va fi numele modelului, de exemplu, Post. Acesta va fi, de asemenea, numele clasei controlerului (dar la plural), de exemplu PostsController ȘI numele tabelului (dar la plural), de exemplu posts
După numele clasei, puteți adăuga coloanele tabelului și tipurile de date ale acestora.
rails g scaffold Post name:string title:string content:text
Numele acestor coloane de tabel ar trebui să fie:
- lower_snake_case
- SINGULAR
Acest lucru se datorează faptului că fiecare articol Post este menit să aibă o valoare stocată în fiecare coloană.
Dacă ați rula acest eșafodaj, acesta ar crea toate aceste fișiere:
În cadrul PostController, toate metodele RESTful vor fi create și toate vor avea fișierele de vizualizare corespunzătoare.
După crearea fișierului de migrare, pentru a face modificarea bazei de date nu uitați să rulați:
rake db:migrate
##Generarea doar a unui controler
Acesta controlează o mulțime de obiecte (deci este la plural)
Câteodată, doriți să generați doar un controler.
rails g controller Comments
Numele controlerului trebuie să fie:
- UpperCamelCase
- PLURALIZED
Acest lucru se datorează faptului că un controler se ocupă de o mulțime de exemple ale unui obiect, deci ar trebui să fie la plural.
Aceasta va crea aceste fișiere:
Aceasta NU va crea un fișier de migrare sau un fișier de model.
##Generarea doar a unui model
Generați conturul unui obiect (singular)
Dacă doriți să creați doar un model, puteți face:
rails g model Comment
- UpperCamelCase
- SINGULAR
De asemenea, puteți adăuga numele coloanelor la acesta dacă doriți:
rails g model Comment commenter:string body:text article:references
Aceste nume de coloane de tabel ar trebui să fie:
- Camelon_mai mic
- SINGULAR
Generarea unui model va crea aceste fișiere:
.