alexpchin/Rails_Generating_and_Scaffolding.md

Používání přísných konvencí pojmenování v systému Rails znamená, že spousta základního kódu MUSÍ být ve stejném formátu, ať už ho píše kdokoli? Může ho napsat kamarád, kolega nebo počítač… nemělo by na tom záležet, protože pro všechny platí stejná pravidla Rails.

To znamená, že Rails může některé úkoly skutečně dělat za vás!!! Může skutečně vytvářet věci a psát kód vaším jménem….

Přicházíte-li z jiného jazyka, jako je PHP, může vám to připadat jako kouzlo.

Stručná reference:

rails g scaffold Post name:string title:string content:textrails g controller Commentsrails g model Comment commenter:string body:text article:references

##Rails generatorPříkaz rails generate používá šablony navržené podle konvencí k vytvoření celé řady užitečných věcí. Spuštění příkazu rails generate samo o sobě zobrazí seznam dostupných generátorů:

rails generate

nebo pro superhackery:

rails g

Generátorů je spousta:

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 v Rails

Nástroj scaffolding v Rails je rychlý způsob generování některých hlavních částí kódu aplikace. Ušetříte tak spoustu času, když chcete aplikaci rychle zprovoznit! (Je to super cool!)

V závislosti na tom, co chcete vytvořit, může scaffolding automaticky vygenerovat všechny nebo jejich kombinaci:

migrationsmodelsviewscontrollersunit_tests helpersstylesheetsjavascript

Může existovat několik dalších souborů, které vytvoří… Nejsem si jistý, jestli je to úplný seznam!

##Vytváření lešení pro celý prostředek

Vytváříte lešení pro věci spojené s objektem (jednotné číslo)

Pokud chcete vytvořit lešení pro aplikaci, musíte vytvořit lešení pro každý prostředek v rámci této aplikace. Pokud byste chtěli vytvořit například aplikaci pro blogování – mohli byste scaffoldovat celý prostředek Post:

rails g scaffold Post

Název prostředku Post musí být:

  • UpperCamelCase
  • SINGULAR

Tento název bude název modelu, např. Post. Bude to také název třídy kontroléru (ale v množném čísle), např. PostsController A název tabulky (ale v množném čísle), např. posts

Za název třídy můžete přidat sloupce tabulky a jejich datové typy.

rails g scaffold Post name:string title:string content:text

Tyto názvy sloupců tabulky by měly být:

  • lower_snake_case
  • SINGULAR

To proto, že každá položka Post má mít v každém sloupci uloženou jednu hodnotu.

Pokud byste spustili tento scaffold, vytvořil by všechny tyto soubory:

V rámci PostControlleru budou vytvořeny všechny metody RESTful a všechny budou mít odpovídající soubory pohledů.

Po vytvoření migračního souboru, aby se provedla změna v databázi, nezapomeňte spustit:

rake db:migrate

##Generování pouze kontroléru

Ovládá spoustu objektů (proto je v množném čísle)

Někdy chcete vygenerovat pouze kontrolér.

rails g controller Comments

Název kontroléru musí být:

  • UpperCamelCase
  • PLURALIZED

Je to proto, že kontrolér ovládá spoustu příkladů objektu, takže by měl být v množném čísle.

Vytvoří se tyto soubory:

Nevytvoří se migrační soubor ani soubor modelu.

##Vytvoření pouze modelu

Vytváříte náčrt objektu (jednotné číslo)

Pokud chcete vytvořit pouze model, můžete udělat:

rails g model Comment
  • UpperCamelCase
  • SINGULAR

Můžete k tomu také přidat názvy sloupců, pokud chcete:

rails g model Comment commenter:string body:text article:references

Tyto názvy sloupců tabulky by měly být:

  • dolní_had_case
  • SINGULAR

Vygenerování modelu vytvoří tyto soubory:

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.