>> GABRIEL GUIMARAES: To je CS50.
Vitajte na Amazing Web Apps s Ruby on Rails.
Takže pre každého, kto má záujem na web vývoj a vytváranie webových stránok, web
aplikácie, Ruby on Rails, je to úžasný nástroj, ktorý Twitter, GitHub,
Groupon, a všetky druhy naozaj pekné, a veľký, webové aplikácie používajú v
v posledných niekoľkých rokoch.
A je to naozaj, naozaj cool funkcie, v pohode nástroj,
pretože je to nové.
Tak to má všetky nový výkonný technológie zahrnuté do jednej
rámec, ktorý vám pomôže vysporiadať sa s všetky druhy úžasných vecí.
>> Ale čo je to rámec?
Takže rámec je v zásade niečo, čo vytvára -
pri spustení webovej stránky, ak ste začali od nuly, ako je otvorenie
gedit tam, a chcete kódovať všetky vášho HTML a kódu všetkých svojich
PHP, všetky vaše CSS, všetko od nuly -
že to jednoducho bude veľa práce.
A rámec vám doslova dáva polovica internetových stránok vykonáva už.
Takže vám začať s polovicou webové stránky že má všetko, čo tam pre vás.
Ako databázové pripojenia, a všetky druhy vecí, ktoré budete musieť starať
o ak robíte to od začiatku, nemusíte sa starať o tých,
Podrobnosti nízkej úrovni.
>> Ale dnes budeme exportovať jeden z webové stránky, ktoré nováčik z
trieda roka 2017 sú pravdepodobne oboznámení.
Tak tento web je web, ktorý som urobil pre našej triedy cez leto.
Bolo webové stránky, kde sa študenti trieda 2017 mohol prihlásiť a
na seba vzájomne pôsobia.
A potom je to mapa -
všetci, kde sú ľudia.
A mali sme knihu hra, piesní hru kde sme videli piesne ľudí, a
knihy ľudí.
To, čo radi čítajú, čo ktoré chcete počúvať.
A najzaujímavejšie na tom je, že mi doslova trvalo tri hodiny
kódovať všetko.
Pretože ak by som mal urobiť všetko, čo od poškriabaniu, rovnako ako otvorenie gedit, že
by pravdepodobne vzali mi 20, 30 hodín.
Ale s Ruby on Rails, pretože všetko, čo už bola zriadená pre mňa,
to mi trvalo len tri alebo štyri hodiny, alebo niečo také.
>> Takže to, čo je Ruby on Rails.
Ruby on Rails, opäť, ako sme už povedal, je rámec.
To je obraz rámca.
Takže sa chystáte začať stavať dom, už máte polovicu
Dom urobil.
To je rámec.
A Ruby on Rails je presne takto.
A vy by ste mali myslieť na to, ako môžete začať webové stránky, začnete svoj web
aplikácie, už máme polovica z nich tam urobil.
Ale najskôr zo všetkého, čo je Ruby?
Ruby on Rails používa pohľad modelu regulátor, ktorý je paradigma, ktoré
je naozaj zaujímavé -
a všetky aplikácie v dnešnej dobe použiť niečo takého.
Táto myšlienka oddelenia veci do tri diely, model, pohľad, a
regulátor.
Budeme hovoriť trochu Viac o tom neskôr.
>> Po prvé, čo je Ruby?
Tak toto je Ruby.
A to je symbol jazyk s názvom Ruby.
Ruby je jedným z Zánovný interpretovaných jazyky, takže skript.
Je to jazyk, ktorý nie je zostavený ako C. Je zostavený na úteku.
Tak to je dobre, pretože, rovnako ako PHP, Napríklad je tiež interpretovaná, je
nie je vybudovaný.
To je dobre, pretože jeho prenosný.
Takže si stačí zadať svoj kód od jedného počítača na iný.
Z počítača s Linuxom, na Windows Stroj, na Mac alebo Apple strojmi, alebo
niečo také.
A nemusíte sa báť, podrobnosti týkajúce sa každého z konkrétnych
operačné systémy.
Bude to fungovať všade.
>> A Ruby je jazyk, ktorý -
vy si ho pravdepodobne pamätajú.
Ľudia používajú hašovacej funkcii implementované v C pre tabuľku hash
minulý týždeň a mal všetky druhy porušenie segmentácie.
A potom sa veci robiť starosti, či že reťazec aj tam, string aj
tu bola skutočne malé písmená alebo veľká, alebo tento druh znepokojujúce
Podrobnosti nízkej úrovni.
No v Ruby, ak chcete implementovať hash tabuľky, je to presne tak, ako ste
vytvorenie hash tabuľky.
Hovoríte, slovník, to je názov mojej premenné, = "Hash.new".
A potom slovník ["foo"], a keď som pridať foo do môjho hash tabuľky, som
Len hovorím foo je tam.
>> A potom keď som chcel zistiť, či foo tam bol, len hovorím, ak
slovník ["foo"] == true return true.
Whoa, a to je vaša hash tabuľky.
To je implementácia z tabuľky hash v Ruby.
Takže každý si prial, aby mohol mať použiť niečo ako Ruby za posledný
týždeň pset, že jo?
Máme všetky druhy dôvodov, prečo chcú používať jazyk, ako je Ruby.
Ruby má drahokamy.
Gem je názov pre druh knižnice v Ruby.
>> Takže všetky druhy zaujímavých funkcií ktoré môžete mať, napríklad, keď som
chcú integrovať mojej žiadosti.
To 2017 aplikácie Harvard bola integrovaná na Facebooku.
Takže by ste mohli prihlásiť, prostredníctvom Facebook, na app.
Takže ak sa chystáte urobiť, že nemáte musieť starať o odosielanie niektorých
HTTP požiadavku na Facebook, a čaká na odpoveď, a núti
odpoveď, a bla, bla, bla.
Stačí stiahnuť klenot, ktorý robí všetko za vás.
A potom sa nemusíte starať o všetko.
>> A potom veľa pomôcť on-line, samozrejme.
Existuje mnoho, mnoho, mnoho webových stránok, ktoré sa chystáte, aby vám pomohol ako s
Ruby a Rails.
A to je veľa zábavy na kód.
Práve preto, že môžete prestať sa znepokojovať o tých nie tak zábavné problémov.
Rovnako ako v prípade, že je niečo malými písmenami alebo veľké písmená, a prečo je to
dáva vám segmentation fault, a môžete naozaj ponoriť do veľmi
zaujímavé veci.
Ak sa chcete ponoriť do naozaj chladných problémov.
>> Takže Ruby je rovnako ako na C v istom zmysle.
Takže to nebude, že velkej skok skutočnosti.
Takže dá, to je naša tlačová aplikácia v Ruby.
Myslím, že by ste mohli použiť tlač príliš, ale kladie je to, čo každý používa.
Takže len dá "Hello World".
Dalo by sa, alebo ste nemohli mať zátvorka obkľučovať
"Hello World" tam.
Stačí si len vybrať, či alebo nepoužívať to.
A potom x = "1".
While vyzerá pekne rovnaký.
Je to len má menej syntax.
Je to trochu čistejšie trochu.
A potom, ak x> 25 puts "Big!" a ešte dá "malé ...".
A je to celkom C v tomto zmysle.
>> Takže keď sa pozriete na to, že môžete prístup pravdepodobne rozumieť
všetko, čo sa deje.
Ale je to silnejšie.
Silnejší, pretože viac než to, To môže robiť veci nie sú, že -
nejaký hackage trochu.
V C ste nemohli urobiť jednoducho sa jedného riadku.
Napríklad, kladie: "Ja som # {x}".
To je len syntax pre dal hodnotu odtiaľ x, a netlačia
znak x.
V C by ste mali urobiť percent d, a potom dať do premennej x po
Čiarka tu, alebo niečo také.
>> A v Ruby je tam skratka pre len to, že.
A dáva to, ak x> 3, takže môžete ak dal všetko na jednom riadku.
A potom zoznam.
Zoznamy v C, ako pole, budete musieť sledovať, ako veľká je vaša pole je alebo
inak dostanete segmentáciu chyba.
Vaše pole je len jeden typ.
Takže je to buď pole poplatku alebo pole celých čísel.
V tomto prípade som vytvoril zoznam tu, to je pole, ktoré má ako prvý
element je reťazec, John, a potom štyri, dva - to sú celé čísla.
A potom som sa len pridať, zoznam, Vľavo uholník, ľavý
Uhol držiaka, tri.
To znamená, že len pripojiť niečo na mojom zozname.
>> Takže je to trochu zaujímavejšie, pretože ak by ste chceli použiť ako
len jednoduchý zoznam čísel, by ste mohli, absolútne.
To je úplne v poriadku.
Stačí dať celé čísla tam.
Ale ak by ste chceli urobiť niečo, čo je viac presvedčivé, že má iné
veci, ktorá má -
Ja neviem, všetky druhy zoznamov v tam, alebo iné predmety, ktoré sú viac
zaujímavé, môžete úplne robiť, že.
Je to úplne v poriadku.
A potom, ak chcete iterovat zoznam, môžete použiť
viac C-ish druh prístupu.
To je pre sláčiky, môžete začať premennú, i = "1", alebo i = "0".
A potom idete, a iterovať, a získať všetky prvky.
>> Ale môžete tiež použiť viac Ruby podobný prístup.
To je len ako list.each.
To len hovorím, vráťte mi všetky prvky zoznamu.
A to s každým prvkom, volať elom.
Takže je to len názov, ktorý som dáva každému prvku.
A teraz to bude opakovať pre všetky prvky, a elom, že to bude
sa tak, že sa prístup že jediný prvok.
Takže by ste mohli úplne držať C prístup, ale to taky funguje.
A to je presne to isté, OK.
>> A okrem toho, je to naozaj, rýchle integráciu Ruby a HTML
pretože vy ste záujem vo webových aplikáciách.
HTML je určite niečo, čo budete používať veľa.
A tu, ak by ste chceli, aby Ruby vo formáte HTML, začnite tu <%.
To znamená, že tu začína Ruby.
A potom%>, niečo ako PHP v tomto zmysle.
Tu Ruby končí a potom môžete stačí dať váš, ak sem.
A potom mám nejaké premenné user.logged_in.
V Ruby, zvyčajne pridať tie, a to buď výsluch značka alebo výkričník
značka, rovnako ako bankový charakteru, len na druhu
rozlišovať medzi našimi funkciami.
Ale stačí dať, že pre svoje vlastné dobro.
Nie je to niečo, čo sa zmení niečo vo funkčnosti.
>> Takže stačí, aby mi pripomenul, že toto je funkcie - a funkcie v Ruby,
skôr ako C, ako som už povedal, nepotrebujú zátvorky.
Takže prihlásený vec, ktorá je funkcie, to je metóda.
Ale nemusíte explicitne nutné dať zátvorky tam.
Takže len s otázkou, či používateľ je prihlásený, a v prípade, že používateľ je prihlásený, teraz
HTML začne znovu.
Takže Vitajte a tu Aj vytlačiť user.name.
A to je všetko.
Tak to je docela rovno vpred, ako integrovať Ruby s HTML.
A prostriedky, ako som už povedal, sú všetky druhy zdrojov pre Ruby.
Vy si to všetko vyhľadať potom pretože ako video, a
diapozitívy, budú byť k dispozícii on-line.
>> A teraz poďme do Rails.
Koľajnice je láska.
Koľajnice -
takže Ruby je jeho jazyk.
OK, rovnako ako PHP, rovnako ako Python.
Je to jazyk na vysokej úrovni, nie ako C. C je stredná, jazyk nízkej úrovne v roku
pocit, že Ruby nemusíte sa starať o pamäti prerozdelenie, a
ukazovatele, a tieto druhy vecí.
Ale Rails je to program, ktorý bol napísaný v Ruby.
A používa Ruby, aby sa to rámec, ktorý pre vás byť schopní
stavať úžasné webové aplikácie.
>> Takže budete musieť najprv nainštalovať Ruby on váš stroj, ale väčšina strojov
už majú, že.
A potom nainštalovať lišty na neho.
Budeme hovoriť o tom neskôr.
A prečo Rails?
Takže MVC, že je to pohľad modelu regulátor sme sa rozprávali o trochu
bit, je všetko jednoduchšie, pretože rozdeľuje veci, ktoré sú
koncepčne odlišné na iný časti aplikácie.
Menej času stráveného na problémy s nízku úroveň, znova, a veľmi, veľmi
populárne práve teraz.
Takže pre všetkých tých, ktorí sa zaujímajú o spustenie scény, alebo v niečom
ako začatie podnikania, a ľudia na trhu s technológiami, ktoré sú
začatie vlastného podnikania hneď sú naozaj, naozaj fanúšikovia Ruby on
Koľajnice, pretože je to tak rýchlo.
>> Takže sa môžete dostať niečo hore a beh menej ako jeden deň, a to
naozaj veľmi presvedčivé argument používať Ruby.
A Rails 4.0 -
teraz je to veľmi čerstvé z rúry.
Takže Rails 4.0 -
Myslím, že prvé vydanie bol v marci tohto roku.
A je to naozaj pekné, že má všetko druhy nových, skvelých vlastností.
Takže Ruby on Rails je rámec, ktorý je neustále aktualizované, aby sa všetky
nové technológie.
>> Prvýkrát som sa snažil používať Ruby on Koľajnice, som mal tento problém, pretože som
vytvoril svoju prvú webovú aplikáciu, a vyzeralo to presne takto.
Takže to vytvára všetky tieto súbory pre vy, a ja som nemal tušenie, čo -
Čo je to?
To vytvorilo všetky tie súbory, a len ja chcel vytvoriť jednoduchý program,
jednoduché webové stránky HTML.
A nemohol som ani nič robiť.
Takže som bol trochu zahltení.
Ale to je jedna z vecí, ktoré raz vám pochopiť, všetko sa stáva tak
oveľa jasnejšie.
Takže nemusíte byť premožený prvý Pohľad na to, čo si vytvoríte na prvom mieste.
>> Takže to, čo sa stane, je Rails vytvára všetky tieto súbory.
Takže jeden z toho je doc, dokumentácia.
Db, že to súvisí s databázou.
Lib, že sa knižnice prihlásiť.
Verejné, skript, a niektoré veci.
Skoro všetko, čo sa chystáte robiť starosti o je zložka app, tam hore.
To je zložka, ktorá obsahuje aplikácie.
Všetky ostatné súbory -
niektoré z nich sú dôležité, a vy ste bude učiť o tom neskôr.
Ale sú tu len pre obsahujú rámce.
Takže prvé kamene z domu vy sa stavia, OK?
>> Ale zložka app -
To je naozaj dôležitá.
A zložka app má majetok.
Majetok je skoro všetko že sa blíži.
Obrázky napríklad, všetko, čo je statický, že to bude k stiahnutiu
na vašich webových stránkach.
Takže obrázky, JavaScript, CSS -
tieto druhy vecí sú aktíva.
Regulátory -
budeme hovoriť o aké sú regulátory, modely,
a pole v druhej.
A pomocníci sú funkcie, ktoré možno použiť po celom kóde
ktorý vám pomôže urobiť niečo.
Funkcie, ako je prihlásený, pre Príklad - user.loggedin.
To je funkcia, ktorá pravdepodobne ste majú použiť vo všetkých častiach vášho
aplikácie.
Takže si môžete dať niečo ako že vo svojom pomocníka.
>> Odosielateľov -
to je, ak sa chystáte poslať e-mail pre vaše užívateľa, budete
chcete používať poštového klienta.
A modely a pohľady, ideme hovoriť o tom, že práve teraz.
Takže pohľad modelu regulátor, ktorý je Základným kameňom Ruby on
Koľajnice, a väčšina rámcov dnes, aby som bol úprimný.
Takže opäť sme sa oddeliť všetky naše kódu do troch rôznych častí.
Model -
model je v podstate databáza.
To sa zaoberá vecí v databáze.
>> Takže každá tabuľka v databáze má zodpovedajúci súbor v rámci modelu.
Takže je to trochu tabuľky pre užívateľa.
Takže ukladanie informácií, ako užívateľské meno, ich e-maily, ich
adresa, ich heslá, a podobné veci.
Budeš mať jeden súbor Model s názvom užívateľa rb -
rb pre Ruby.
A tam budeš mať všetko metód a premenných.
Premenné budú zodpovedať na užívateľské meno, e-mailu a
všetko.
>> A budete mať metódy.
To bude niečo, o -
budete spracovávať informácie v databáze.
Ak chcete vytvoriť model s Rails, stačí použiť Rails vytvárať.
A vytvárať veci v Rails, vás skutočne potrebujú terminál.
Takže je to veľmi terminál na základe rámca.
Stačí sa prihlásiť do terminálu, a to Rails, generovanie modelu.
A názov modelu je užívateľ.
A ja len chcem mať dve premenné, dva stĺpce, v mojom stole.
Tak to je e-mail.
E-mail je typu string.
Heslo, heslo je tiež typ string.
To sú len dve veci.
Je to trochu zjednodušujúce užívateľské tabuľky.
Ale vy ste mohli úplne dať stovku vec je, že ak ste chceli.
>> A Rails tiež robí to veľmi, veľmi jednoduché, aby všetky
druhy databázových vzťahov.
Takže väčšinou, keď máte tabuliek vo vašej databázy, že to nie je moc
nezávisle jeden na druhom.
Poďme premýšľať o tom.
Ak chcete nakupovať a predávať výrobky on-line.
OK, takže máte webové stránky, kde sa Chcete nakupovať a predávať výrobky.
Takže každý užívateľ má veľa produktov, ktoré Tento užívateľ je ochotný predať.
A každý používateľ má tiež mnoho transakcií ktoré prebiehajú, alebo
niečo také.
A transakcie sú s iným užívateľom.
Každá transakcia patrí k dvom rôznym užívateľom.
Užívateľ, ktorý kupuje a Užívateľ, ktorý predáva.
>> Takže to sú tzv Databáza vzťahy.
A tu máme presne tie kľúčové slová, má veľa a patrí.
To sú tie najdôležitejšie.
A ty len tak povedať, pre príklad, toto je príklad
Model na 2017 stránkach Harvard.
Opäť platí, že študenti tu -
každý študent na webových stránkach, študent je model, je databázová tabuľka.
Každý študent mal veľa kníh, pretože vám by sa povedať, aké sú vaše obľúbené
knihy, vpravo.
Takže každá kniha patrí do študent tu dole.
A atribút prístupný -
to je len hovorím, tie sú premenné.
To sú premenné prístupné z tohto modelu.
A premenné sú autorom kniha, opis, žáner, a
názov knihy.
Takže len informácie o knihu.
>> A tu mám metódu, ktorá jednoducho triedi všetko.
Takže definovať a skončí tu, to je len povedal, tu je môj spôsob.
Self.sorted_all.
To je len, daj mi všetko radené, a to ako implementovať
triedenie algoritmus, čo je pomerne jednoduché.
Ale v podstate je to, ako Model vyzerá, OK.
Má niekto nejaké otázky týkajúce sa Táto databáza vec?
Vzťahy?
Je to jasné?
Áno.
>> DIVÁKOV: Vieš radiaca algoritmus?
>> GABRIEL GUIMARAES: radiaca algoritmus, OK.
Keď si zvyknete na syntaxe Ruby, to bude jasné.
Ale v podstate, elems je Book.all.
Takže kniha je názov môjho modelu.
Pri vytváraní modelu je dodávaný s všetky druhy pekné metód pre vás.
Takže dot.all je metóda, ktorá vráti všetky knihy.
Ale nájsť, napríklad, by vyhľadať jedna kniha a vrátiť tú knihu, alebo
niečo také.
A tak elems je všetko.
A ja len hovorím elems.sort.
Triediť je vstavaný Ruby funkcie.
>> A to ab.
Tak to sa opäť -
budete triediť.
Ale budete mať Tento argument pre mňa.
A argument, používa - to je jeden z tvrdšie veci v Ruby v skutočnosti,
to vec.
Ale akonáhle pochopíte, to všetko príde veľmi, veľmi intuitívne.
Takže ab, to hovorí o miesto držiaky, ktoré budem používať - ​​ako
premenné budem používať, sú bude volaná a b
A to sú tie knihy.
>> Takže, pretože druh potrebuje k porovnání prvky, pamätajte, že?
Takže keď budete triediť veci, vás porovnanie dvoch prvkov.
Chystám sa povedať, že zakaždým, keď budete porovnávať -
takže to znamená, že som okolo triediť argument.
A argument je všetko od robiť, aby aj tu, OK?
A toto tvrdenie, je len hovorím triediť ako pre porovnanie.
Zoradiť bude fungovať tu, ale je to by sa v porovnaní s ich
predvolené porovnávanie algoritmus.
Chcem, aby to porovnať veľmi špecifické spôsobom, najmä, keď kniha
bol vytvorený, keď každý Kniha vznikla.
>> Takže hovorím, hovoria, názov prvej Kniha je a názov
Druhá kniha ako b, chcem nejako triediť niečo, čo na základe tejto b.created_at
divný symbol, a.created_at.
A ten divný symbol je skratka pre, ak je väčší ako
ostatné, vráti 1.
Ak jeden sa rovná ostatné, vráti nulu.
Ak jeden je menšia ako ostatné, návrat mínus 1.
Takže to je to, čo ten divný symbol.
>> Ale to nie je dôležité.
Myslím, že to, čo chcem, vy dostať Teraz je myšlienka, že databáza -
môžete mať model tam.
Takže nemusíte mať strach o pripojenia a pomocou príkazu SQL,
a podobné veci.
To môže tiež vytvoriť dvere SQL injekcie a všetko
druhy bezpečnostných problémov.
V tomto prípade, nemusíte obávať, že.
Stačí použiť metódy, ako book.all.
A, že v pozadí samozrejme sa chystá do databázy, a to
bude používať príkaz SQL aby všetky knihy.
Ale nemusíte sa obávať, že.
To je stánok s jedlom, OK?
>> A keď budete mať vyhlásenie belongs_to ako je táto, to znamená, že
až budete mať knihu objekt, vás môžete vidieť, čo je jeho študentom.
Takže, ktoré má študent túto knihu?
Takže môžeme len použiť book.student, a ktorý vám dáva to, čo je študent.
A je to naozaj majú mať.
>> OK, teraz pohľad.
Takže model je to, čo ovplyvňuje s databázou, jo?
Pohľad je v podstate HTML, a CSS, a niektoré JavaScript.
A to je to, čo používateľ vlastne vidí.
Používateľ sa nebude pozri databázu.
Chce sa pozrieť na nejaké údaje z Databáza vložený v prehliadači.
Ruby on Rails to robí naozaj jednoduché, aby pole.
Po prvé preto, že už to vytvára pre vás, po vybalení z krabice, rozvrhnutie.
>> Rozloženie je v podstate niečo, čo -
ak všetky vaše stránky majú logo na vrchole a ja neviem, nejaké ponuky alebo
niečo také, že všetky vaše stránky podiel na spoločné, potom nemusíte
je potrebné vytvoriť mnoho, mnoho, mnoho HTML súbory, kde sú všetky súbory majú, že
rovnaký kód HTML.
Myslím, že je to hlúpe, pretože ste práve opakovanie kódu medzi rôznymi súbormi.
To rozhodne nie je dobrý prístup.
>> Takže Ruby on Rails vytvára tento layout pre vás.
A to je len hovorím, všetky moje stránky budú mať tento HTML, túto hlavu
Názov tu, a tie sú štýlov link tag.
Zapojte tu všetky moje CSS.
Zapojte tu všetky moje JavaScript a niektoré meta tagy.
To je proste niečo, čo sa to automaticky za vás.
A potom, nakoniec hlavu, teraz Tu začína telo.
A teraz je to môj skutočný obsah.
Takže keď som chcel dať niečo ako, Ponuka tu, tak by som dal to priamo nad
toto miesto, alebo niečo také, tak, že všetky moje stránky zdieľal.
Takže rozloženie je zdieľaná všetkých stránkach.
>> Teraz, keď výnos tu len hovorí, no ohľadu na to, aké stránky to je in, len
zapojte obsahu, ktorý Stránka tu, OK?
A teraz je to, napríklad, Obsah jednej strane, že to bude
zapojený do tohto výnosu vyhlásenia automaticky Rails.
Ale to je rozloženie zdieľanej všetkých strán.
A to je príklad jednej stránke.
A to je presne to stránka , Ktorý uvádza všetky knihy.
Tak to je základné HTML tabuľky do hornej.
Takže zoznam kníh, názov, autor, opis, žáner.
>> A tu sme použiť znovu, niektorí Syntaxe Ruby, @ books.each--
@ Druhu hovorí, že premenná je globálna v tom zmysle.
Pretože táto premenná bola v skutočnosti vyhlásil v regulátora, ktorý
budete hneď vidieť.
Ale len brať za samozrejmosť, že tento @ Knihy je premenná, ktorá je zoznam
všetky knihy.
Takže books.each, to, a znova, je to len hovorím, ako to chcete pomenovať
každý z iterátory, takže nemáme musieť starať o štyri, int i
bla, bla, bla.
Práve sme sa každý z prvky a ich použitie.
>> Tak toto je kniha, a potom už len vytlačiť tu. book.title, book.author,
book.description, a bla, bla, bla.
A tu je link_to.
Takže link_to je len tag link že užívateľ môže kliknúť na a
ide na inú webovú stránku.
Link_to, ukazujú, že konkrétne knihu.
Takže v prípade, že užívateľ je veľký záujem táto kniha, potom môžete kliknúť na show.
Alebo kliknite na upraviť, ak chce upraviť knihu.
Alebo zničiť, ak chce odstrániť Kniha z databázy.
OK, to má zmysel?
Dobrá.
>> A konečne, regulátor.
Takže v podstate je regulátor rozhranie medzi
modelu a view.
Takže model je súčasťou vašej Kód, ktorý má databázu -
každá tabuľka v databáze má príslušný súbor v
modelu, a tak ďalej.
A ako sa model a Pohľad komunikovať?
Tak, a to prostredníctvom riadiacej jednotky.
Čo regulátor robí, je, že je model pre niečo ako, napríklad,
dať všetky knihy vnútri premenné.
Ako je tento, @ kníh.
>> A to musí byť globálny s týmto na vec, pretože to bude
prístupné pohľadu.
Nebude to byť použité v rámci samotný radič.
A to len spomaľuje informácie, ktoré Pohľad sa bude používať.
Napríklad, skontroluje regulátor ak je používateľ online.
A ako to urobiť, že?
Je to vlastne pýta model preto, že model má
informácie o užívateľovi.
Má užívateľov tabuľky, knihy, tabuľka, ostatné tabuľky.
Takže regulátor sa spýta, či užívateľ je on-line.
Ak je používateľ online, regulátor zvláda veci, ako je uvedenie cookie,
alebo niečo také, aby pečiatka povedať, že je užívateľ online.
Nie je potrebné sa znova prihlásiť.
>> A bude to načítať premennú s názvom užívateľ, napríklad, že sa
pohľad môže použiť.
A pohľad môže dať niečo tu, Napríklad, vitajte user.name.
Takže to bude hovoriť, vitajte John, vitajte James -
niečo ako, že jo?
Takže všetky tieto premenné použiť v Pohľad sa bude vložený do
radič a bude vytiahol z modelu.
>> To je príklad regulátora.
Takže máme v podstate každý -
nazývame tie veci akcií.
Takže index je akcia.
Je to funkcia Ruby.
Je to metóda Ruby tam.
Ale pre volanie regulátora Tieto veci žaloby.
A každá akcia sa vzťahuje na trase.
Tak tu to cesta, napríklad, Je Získajte údajov / knihy.
Takže ak idete do harvard2017.com/books, čo sa stane, je tento kód
bude volaná.
>> A tam je súbor -
dovoľte mi, aby som otvoriť tento naozaj rýchlo.
Tam je súbor s názvom raw súborov.
Nie je to otvoriť.
Takže tam je súbor s názvom súboru RAW ktorý v podstate zodpovedá -
oh, teraz sa to otvára.
Tu trasy.
Takže v podstate zodpovedá napätiu, aktivácia / new napríklad, aby
niečo v regulátora.
Takže tam je to ovládač s názvom aktivácia regulátora, ale tu,
máme knihy, napríklad.
Takže zápasov -
knihy / nové, k regulátoru knihy, nové opatrenia.
Takže v podstate veľmi jednoduché veci.
>> A tu, ak by ste mali dostať / knihy, lomítko ID kníh, lomítko nový,
sa chystáte ísť na to Metóda Ruby tam dole.
Tak tu, čo tento index sa robí práve načítava knihy protokol.
To je niečo, čo -
Aj prihlásiť všetky knihy v protokole.
A triediť to všetko.
Takže to bude návrat všetky triedené knihy.
To je opäť v databáze.
Tak to je metóda modelu.
Videli ste tento spôsob je vytvorené v modeli.
Teraz je to len načítava všetky knihy a uvedenie, že v premennej, ktorá
môže byť videné pohľadom.
>> Pretože nemôžeš, v stredu Váš HTML kód, nemôžete volať
niečo, čo priamo z modelu, preto, že to z dvoch dôvodov.
Po prvé, z bezpečnostných dôvodov, pretože je to naozaj zaujímavé, že
načítanie informácií priamo do Každý HTML, ktorý je v databáze.
A za druhé, aby sa vaše Kód naozaj organizované.
Tak presne oddeliť jednotlivé časti.
Takže BookLog.sorted_all, to v databázy a to sa chystá uviesť do
premenná @ kníh.
A teraz táto premenná je prístupná v kóde HTML.
Takže stačí dať všetky knihy že rovnako ako my, tu.
To je premenná.
>> A návštevy respond_to robiť | Formát |, je to len druh syntaxe Ruby pre
v prípade, že používateľ sa ma pýta na HTML kód, budem
reagovať s HTML kódom.
Ak užívateľ požiada ma s JSON kód, čo je niečo, čo webové aplikácie používať
komunikovať medzi sebou, ale zvyčajne používajú JSON, alebo nejaký iný
také veci.
Tak to proste reaguje s použitím tých dva rôzne formáty.
Ale pre bežných užívateľov, tento nebudú musieť byť tu.
Tie by len reagovať HTML, a to je v poriadku.
Takže sa nemusíte báť, že naozaj veľa o tom.
To je jediný riadok kódu v našom ovládanie, ako je to načítanie z HTML
databázy, uvedenie do niečoho, čo je prístupné pohľadu.
>> A potom nový, takže tu Ja vytváraní knihy.
Ale k vytvoreniu knihy, musím študent pretože musím vedieť študenta
ktorého knihy to patrí, že jo.
Takže @ študenta = študent.
Študent, opäť začíname s veľký S je model študenta.
OK, takže to je model študent, to je model kniha log.
Student.find, takže budem hľadať Študent pomocou parametrov ID.
params.id, to sa len tak mi hodnotu tohto ID, ktorý bol odovzdaný -
a URL.
>> Idem hľadať pre túto študenta.
A prvé, ideme na kontrolu v prípade, že študent má nejaké piesne
a bla, bla, bla.
A to už spracováva prípad, kedy študent
neexistuje, napríklad.
A potom, inak sme len reagovať na rovnakú vec pomocou HTML.
A potom sa môžeme nechať užívateľa vytvoriť svoje piesne.
Tak toto je nový.
Nový sa zvyčajne používa pre, nech užívateľ vytvoriť niečo.
A potom je tu akcia vytvoriť , Ktorý je zvyčajne používaný k -
skutočne dať pesničky do databázy alebo niečo také.
Ale akonáhle začnete používať Rails, tieto veci sa bude
oveľa, oveľa jasnejšie.
OK, v pohode.
Akékoľvek otázky tak ďaleko?
Má to zmysel s regulátormi, modely, polia -
jo?
>> Opäť v Rails aplikácii -
tak to všetko možno nájsť tu.
Takže máte aplikáciu, radiče, ktoré sú všetky moje regulátorov.
Tak napríklad, knihy ovládanie.
To je to, čo sme práve videli.
A potom zobrazenie.
A každý regulátor má spojené názor, že jo?
Takže automaticky, keď hovoríš index tu, napríklad, alebo ak
nazývajú knihy nové, potom názor, knihy, nové sa bude volaná.
>> Takže Rails robí všetko automaticky za vás.
Takže každý regulátor je spojená zobrazenie a všetky modely -
tu mám jeden, dva, tri, štyri, päť modelov.
Ale to je model študent, takže tí, sú premenné, ktoré všetky
študenti majú - lokalizácia, dátum narodenia.
Študenti sa trochu viac zložitejšie, pretože každý študent má
viac iný spôsob spojená s ňou.
Ale to je len manipulácia tabuľka, ktorá mala všetky
Študenti v databáze.
>> A, OK, inštalácia Rails.
Inštalácia Rails, aby som bol úprimný, nie je tá najjednoduchšia vec.
Ale akonáhle sa dostanete cez všetko, je to veľmi, veľmi jednoduché.
Takže inštalácia Rails, stačí ísť na webové stránky, rubyandrails.org / download
a postupujte podľa jeho pokynov tu.
Stiahnuť všetko.
A môžete to urobiť buď v Appliance, v CS50 spotrebiča, na
Windows, na Mac, alebo akýkoľvek prevádzkový systém podľa Vášho výberu.
Ruby on Rails beží na všetko.
>> Ste už nainštalovali Ruby štatistiky Ak máte Mac alebo -
v spotrebiči Myslím, že Ruby je -
Nie som si istý.
A potom stačí len túto aplikáciu nainštalovanú.
A ak si chcete vytvoriť nový webová aplikácia, stačí
robiť Rails, nový, blog.
Koľajnice, nové -
Neviem -
Názov vášho webu.
A je to tak jednoduché.
>> To bude vytvárať všetky tie, Súbory Len som vám ukázal.
Ale model, view, a Regulátor sa nebude
obývaný ešte.
Ty jednoducho musieť ísť tam a naplnenie týchto troch zložiek.
Takže šance sú, že chcete vytvoriť model, napríklad implementovať jednu
modelovať ako prvý.
Takže znova, vždy sa snaží uhryznúť menšie kúsky problému naraz.
>> A potom povedzme, vytvoriť model pre svojich užívateľov.
To je prvá vec, Ak máte užívateľom.
Potom som si chcete vytvoriť model rovnako ako my tu ukázal.
Koľajnice, vytvárať, model, používateľ, a potom e-maily string - my, ktoré tu majú.
A len vytvoriť ten model, áno.
Rails vytvárať užívateľský model e-mail: string heslo: string.
>> A potom vytvoriť radič , Ktorá sa zaoberá užívateľom.
A môžete vytvárať nových užívateľov a robiť tie rôzne veci.
A potom môžete prejsť na tvorbu zvyšok vašich webových stránkach.
Cool, otázky?
Áno.
>> DIVÁKOV: [nepočuteľné]
>> GABRIEL GUIMARAES: Áno, áno, určite musieť ísť do pohľadu.
To je veľmi dobrá otázka.
Takže pohľad na to, čo vlastne obsahuje kód HTML.
Takže to je to, čo používatelia sa uvidí.
Opäť platí, že tu sa jedná o príklad zobrazenia.
Má HTML kód a Ruby kód v rovnakom čase.
Takže Ruby kód je tam dať veci z databázy, napríklad,
, Ktoré boli nanesené na regulátora.
Tak, že premenná @ kníh, napríklad, má všetky knihy a tabuľky
knihy v databáze.
Zaistili sme, že má v regulátora.
>> A pohľad -
Každý zo stránok mimo vaše webové stránky je bude mať jeden kombinovaný pohľad.
Takže ak idete na domovskú stránku, prvá strana, harvard2017.com.
To ukazuje jednu stránku.
A potom idete na lomítko profil.
To pôjde na regulátora to je profil regulátor.
A profil regulátor sa deje aby vám pohľad profilu.
A pohľad na profil bude vyzerať niečo ako toto, ale to bude
majú informácie o užívateľovi, a nie o knihách.
>> Takže je to HTML kód a CSS, a tými, veci, ktoré vidí používateľ
s Ruby kódu -
že v skutočnosti vytlačí veci z databázy.
Je to jasnejšie?
Dúfam, že.
>> Divákov: HTML kód sa používa pre vlastne robiť webové stránky, ktoré
užívateľ vidí, ale Ruby kód to, čo robí webové stránky pracovať?
>> GABRIEL GUIMARAES: Kód Ruby dostane prevedené do formátu HTML.
Takže to, čo používateľ dostane je len HTML, OK?
Je to len HTML.
Tento book.title sa chystá previesť na hodnota book.title v HTML, OK.
Tak to je všetko, na serveri, a tak to záleží na tom, čo knihy existujú
na serveri práve teraz.
Ale to, čo server by okamžite zmyslom je iba HTML kód, OK.
>> Ale pohľad dáva len rozvrhnutie čo HTML bude vyzerať ako
a aké premenné sa bude.
Tento druh tlače von, OK.
Tieto veci sú v podstate výtlačkov.
Idú k tlači premenných, OK.
Takže to, čo je len HTML, tie -
autor, názov, popis.
To je statický obsah.
To nebude meniť.
To je jednoducho HTML kód.
Tí, ktorí sú tlačové výstupy premenných -
veci, ktoré sú závislé.
Skvelé, ďalšie otázky?
Dobrý?
Áno.
>> DIVÁKOV: Myslím, že ste robili všetko úpravy v inom texte
editačný program.
Mali by sme si tiež stiahnuť, že?
>> GABRIEL GUIMARAES: Jo, To sa mi páči textový editor nazvaný TextMate.
A je to naozaj dobré.
Je to dobre hodí pre Ruby.
Je farby veci veľmi úhľadne.
Takže TextMate, T-E-X-T. Idem dať, že drží na -
>> Myslím, môžete použiť gedit alebo čokoľvek budete chcieť.
Ale to je špecifická pre Mac, a to je naozaj čistý, pretože to dá všetko
súbory tam dole.
A v Ruby on Rails, je nutné prepnúť Súbory veľa.
Takže je to veľa, veľa súborov len prejsť z jedného súboru, prejdite na
jeden súbor alebo iný.
Takže TextMate je veľmi dobrá, ale existuje veľa vonku.
Ďalšie otázky?
OK, áno?
>> DIVÁKOV: Je mobilný vývoj cez Ruby on Rails?
>> GABRIEL GUIMARAES: som Počul vecí.
Osobne som nepoužil je.
Dalo by sa výskum o tom viac.
Nie som si istý, či je nejaká dobrá vec tam.
OK, áno?
>> DIVÁKOV: [nepočuteľné]
>> Gabriel Guimaraes: Nie Rails, Pravdepodobne Ruby poľa.
Otvorte okno terminálu a typ, "Ruby".
Jo, možno, a potom ste stačí nainštalovať Rails.
Ale ak sa chystáte inštalovať nový Koľajnice 4,0, čo vrelo odporúčam,
by ste mali stiahnuť Ruby 2.0.
To je tá nová moc.
A nové Rails 4.0 má niečo naozaj cool, že
to robí na majetku.
To sa zaoberá majetok.
Aktíva sú opäť obrázky, CSS súbory, a súbory JavaScriptu.
Takže je naozaj užitočná vec, že ​​Ruby on Koľajnice sa pre vás všetky tie CSS
súbory, ktoré máte a všetko -
to len zväzky všetko do jednej veľký súbor, bez medzier alebo čokoľvek,
minimalizovať dobu, po ktorú užívateľ potrebuje stiahnuť ten kód z vášho servera.
>> Takže keď vidíte vo vašom počítači, je to bude mať ako 15 CSS súbory.
Alebo veľa, veľa rôznych CSS súborov.
Ale na konci dňa, čo koľajnice automaticky sa pre vás je to kladie
všetko dohromady do jedného veľkého súboru tak, že sa minimalizuje čas požiadavke.
To je naozaj cool.
Áno?
>> DIVÁKOV: [nepočuteľné]
>> GABRIEL GUIMARAES: Presne tak.
Takže, integrácia Google Maps.
To je API JavaScript od Google.
Tak som išiel na webových stránkach Google.
Majú to Google Maps API a ja stiahnuť kód a integrovať ho
do môjho pohľadu.
Takže to, čo som potreboval, aby tam robiť je, že som potreboval dostať
lokality z databázy.
To bolo vykonané v regulátora.
Tak som šiel do regulátora -
kde je regulátor.
Regulátor vyzeral takto.
Mám všetky lokalít študenti, dať to všetko do veľkej
variabilný, veľký zoznam, ktorý má všetky lokality.
>> A v pohľade, pretože JavaScript API je niečo v
pohľad, nie?
Vzhľadom k tomu, JavaScript beží priamo vo Vašom HTML kód, to bude zaslaná
Stroj užívateľa.
A v pohľade, som nahral všetko informácie do Google API.
A to všetko z toho pre mi, ktorá je naozaj cool.
Ale ak chcete používať veci back-end, a to je ako knižnica, pre
Napríklad, opäť -
Integrácia s Facebook účtom.
To je niečo, čo mnoho, mnoho, mnoho aplikácií používate v súčasnej dobe.
>> Takže mať svoje integráciu s Facebookom pretože je to tak oveľa jednoduchšie
prihlásiť sa s Facebook účtom ako vytvoriť účet a bla, bla, bla.
Potom stačí použiť drahokam, a to ako jednoduché, ako ísť do svojho drahokamu súboru.
Gem súbor je súbor s názvom klenot súbor v zdrojový adresár vášho Ruby on
Koľajnice projektu.
Proste tam choď a pridať nový klenot.
A vy ste to nájsť na Google.
Existuje mnoho, mnoho, mnoho drahokamov.
Je tu ešte jedna, ktorá sa špecificky robí to pre Facebook integráciu.
Nie som si istý, čo meno to.
Len to Google, a vy ste bude to nájsť.
OK, ďalšie otázky?
Úžasné, ďakujem, že ste prišli.