1 00:00:00,000 --> 00:00:08,560 2 00:00:08,560 --> 00:00:10,410 >> GABRIEL GUIMARAES: To je CS50. 3 00:00:10,410 --> 00:00:14,740 Dobrodošli na Iznenađujuće Web Apps s Ruby on Rails. 4 00:00:14,740 --> 00:00:19,700 Dakle, za svakoga tko je zainteresiran za web razvoja i izrade web stranica, web 5 00:00:19,700 --> 00:00:26,510 aplikacije, Ruby on Rails je to nevjerojatna alat koji Twitter, GitHub, 6 00:00:26,510 --> 00:00:31,470 Groupon, i sve vrste jako lijepo, i veliki, web aplikacije koriste u 7 00:00:31,470 --> 00:00:33,080 u posljednjih nekoliko godina. 8 00:00:33,080 --> 00:00:37,190 I to je stvarno, stvarno cool značajka, kul alat, 9 00:00:37,190 --> 00:00:39,290 zato što je novo. 10 00:00:39,290 --> 00:00:43,830 Dakle, to je sve novi snažan tehnologija ugrađena u jednu 11 00:00:43,830 --> 00:00:49,050 okvir koji vam pomaže da se bave sve vrste nevjerojatne stvari. 12 00:00:49,050 --> 00:00:50,970 >> No, ono što je okvir? 13 00:00:50,970 --> 00:00:55,700 Dakle, okvir je u osnovi nešto što stvara - 14 00:00:55,700 --> 00:00:59,680 kada pokrenete web stranice, ako ste započeli od nule, kao da ste otvorili 15 00:00:59,680 --> 00:01:04,530 gedit postoji, a vi želite da kod svih HTML-a, i kod svih vaših 16 00:01:04,530 --> 00:01:08,130 PHP, sve svoje CSS, sve od nule - 17 00:01:08,130 --> 00:01:09,690 da baš će biti puno posla. 18 00:01:09,690 --> 00:01:13,940 I okvir doslovno vam daje polovica web stranice već učinili. 19 00:01:13,940 --> 00:01:18,070 Tako da počnete sa pola website da je sve tu za vas. 20 00:01:18,070 --> 00:01:22,690 Poput veze baza podataka, a sve vrste stvari koje morate brinuti 21 00:01:22,690 --> 00:01:25,040 o tome, ako ti to radiš od nule, ne morate brinuti o onima 22 00:01:25,040 --> 00:01:26,480 Detalji niskoj razini. 23 00:01:26,480 --> 00:01:32,360 >> No, danas ćemo izvoziti jedan od je web stranica koja debitantom 24 00:01:32,360 --> 00:01:34,740 Klasa 2017 su vjerojatno upoznati. 25 00:01:34,740 --> 00:01:40,170 Dakle, ovaj website je web stranica koja sam učinio za naš razred preko ljeta. 26 00:01:40,170 --> 00:01:46,500 To je web stranicu na kojoj su studenti Klasa 2017 mogli prijaviti i 27 00:01:46,500 --> 00:01:47,480 međusobno djeluju. 28 00:01:47,480 --> 00:01:49,610 I onda je karta - 29 00:01:49,610 --> 00:01:51,210 svatko, gdje su ljudi. 30 00:01:51,210 --> 00:01:56,970 I imali smo knjigu igru, pjesme igru gdje smo vidjeli ljudi i pjesme 31 00:01:56,970 --> 00:01:57,970 knjige ljudi. 32 00:01:57,970 --> 00:02:00,480 Ono što oni vole čitati, što oni vole slušati. 33 00:02:00,480 --> 00:02:06,830 I najzanimljiviji dio je da mi je doslovno uzeo tri sata 34 00:02:06,830 --> 00:02:07,840 da kod sve to. 35 00:02:07,840 --> 00:02:13,050 Jer ako sam morao učiniti sve što je od ispočetka, kao da otvara gedit, to 36 00:02:13,050 --> 00:02:16,400 vjerojatno su se Me 20, 30 sati. 37 00:02:16,400 --> 00:02:20,210 No, s Ruby on Rails, jer sve je već bio postavljen za mene, 38 00:02:20,210 --> 00:02:25,550 samo mi je tri ili četiri sata, ili nešto slično. 39 00:02:25,550 --> 00:02:27,580 >> Dakle, ono što je Ruby on Rails. 40 00:02:27,580 --> 00:02:32,720 Ruby on Rails, opet kao što smo već rekao je okvir. 41 00:02:32,720 --> 00:02:34,800 To je slika okvira. 42 00:02:34,800 --> 00:02:37,460 Tako ćete se početi graditi Kuća, vi već imate polovicu 43 00:02:37,460 --> 00:02:38,320 Kuća učinjeno. 44 00:02:38,320 --> 00:02:38,970 To je okvir. 45 00:02:38,970 --> 00:02:40,560 I Ruby on Rails je točno tako. 46 00:02:40,560 --> 00:02:44,440 A ti bi trebao razmišljati o tome što je, što počnete web stranice, možete početi vaše web 47 00:02:44,440 --> 00:02:48,830 Zahtjev, već imamo polovica od toga učinjeno postoji. 48 00:02:48,830 --> 00:02:50,400 No, prije svega, što je Ruby? 49 00:02:50,400 --> 00:02:53,510 50 00:02:53,510 --> 00:02:58,310 Ruby on Rails koristi modela kontroler, koji je paradigma, koja 51 00:02:58,310 --> 00:02:59,930 je doista zanimljivo - 52 00:02:59,930 --> 00:03:04,250 i sve primjene danas koristiti nešto poput toga. 53 00:03:04,250 --> 00:03:08,630 Ova ideja odvajanja stvari u tri dijela, modela, pogled, i 54 00:03:08,630 --> 00:03:09,630 kontroler. 55 00:03:09,630 --> 00:03:11,950 Idemo razgovarati malo više o tome kasnije. 56 00:03:11,950 --> 00:03:13,400 >> Prvo, što je Ruby? 57 00:03:13,400 --> 00:03:14,500 Dakle, ovo je Ruby. 58 00:03:14,500 --> 00:03:17,850 A to je simbol jezik zove Ruby. 59 00:03:17,850 --> 00:03:24,170 Ruby je jedan od prilično nov tumačiti jezika, pa pismu. 60 00:03:24,170 --> 00:03:29,530 To je jezik koji nije sastavljen kao C. To je sastavio u bijegu. 61 00:03:29,530 --> 00:03:33,220 Dakle, to je dobro, jer, baš kao i PHP, na primjer, također se interpretira, je 62 00:03:33,220 --> 00:03:33,960 Ne sastavio. 63 00:03:33,960 --> 00:03:35,710 To je dobro, jer mu je prenosiv. 64 00:03:35,710 --> 00:03:39,740 Tako da samo prođe kod iz računala na drugo. 65 00:03:39,740 --> 00:03:44,440 Od Linux stroj, na Windowsima stroj, na Mac ili Apple stroja, ili 66 00:03:44,440 --> 00:03:45,240 nešto slično. 67 00:03:45,240 --> 00:03:49,160 I ne morate se brinuti o pojedinosti u vezi svakog od specifičnih 68 00:03:49,160 --> 00:03:49,890 operativne sustave. 69 00:03:49,890 --> 00:03:51,330 Bit će to raditi posvuda. 70 00:03:51,330 --> 00:03:54,700 >> A Ruby je jezik koji - 71 00:03:54,700 --> 00:03:56,920 ti dečki vjerojatno sjetiti. 72 00:03:56,920 --> 00:04:01,440 Ljudi koriste hash funkciju provodi u C hash tablici 73 00:04:01,440 --> 00:04:04,860 prošli tjedan i imala sve vrste segmentacije grešaka. 74 00:04:04,860 --> 00:04:12,360 I tada su se stvari ne brinući se o tome da li Taj niz i tamo, i niz 75 00:04:12,360 --> 00:04:20,380 Ovdje, zapravo je malim slovima ili velika slova, ili ove vrste zabrinjavajući 76 00:04:20,380 --> 00:04:21,410 Detalji niskoj razini. 77 00:04:21,410 --> 00:04:26,180 Pa u Ruby, ako želite provesti hash tablicu, to je točno kako si 78 00:04:26,180 --> 00:04:27,100 stvoriti hash tablicu. 79 00:04:27,100 --> 00:04:30,280 Kažeš, rječnik, to je ime moje varijable, = "Hash.new". 80 00:04:30,280 --> 00:04:34,680 A onda rječnik ["foo"], a kad sam dodajući Foo mom hash tablicu, ja sam 81 00:04:34,680 --> 00:04:35,960 Samo kažem Foo je tu. 82 00:04:35,960 --> 00:04:38,070 >> A onda, ako sam htjela provjeriti je li Foo bio tamo, ja samo kažem, ako 83 00:04:38,070 --> 00:04:40,270 rječnik ["foo"] == true povratak istina. 84 00:04:40,270 --> 00:04:41,560 Opa, i to ti je hash tablicu. 85 00:04:41,560 --> 00:04:44,280 To je provedba od hash tablicu u Ruby. 86 00:04:44,280 --> 00:04:50,200 Dakle, svatko poželio bi mogli imati koristi nešto poput Ruby za last 87 00:04:50,200 --> 00:04:51,450 tjedan pset, zar ne? 88 00:04:51,450 --> 00:04:54,410 89 00:04:54,410 --> 00:04:59,050 Imamo sve vrste razloga da se žele koristiti jezik kao Ruby. 90 00:04:59,050 --> 00:05:01,380 Ruby ima dragulja. 91 00:05:01,380 --> 00:05:04,000 Gem je naziv za neku vrstu knjižnice u Ruby. 92 00:05:04,000 --> 00:05:07,490 >> Dakle, sve vrste zanimljivih mogućnosti koji možete imati, primjerice, ako ja 93 00:05:07,490 --> 00:05:09,280 žele integrirati svoju aplikaciju. 94 00:05:09,280 --> 00:05:12,470 Taj Harvardu 2017 prijava je integriran u Facebook. 95 00:05:12,470 --> 00:05:15,810 Dakle, moglo bi se prijaviti, putem Facebook, na cca. 96 00:05:15,810 --> 00:05:19,760 Dakle, ako idete za to, ne znaš morate brinuti o slanju neke 97 00:05:19,760 --> 00:05:23,760 HTTP zahtjev na Facebooku, a čeka za odgovor, i prisiljava 98 00:05:23,760 --> 00:05:25,150 odgovor, i bla, bla, bla. 99 00:05:25,150 --> 00:05:29,120 Vi samo preuzeti dragulj koji čini sve da za vas. 100 00:05:29,120 --> 00:05:30,750 I onda ti ne trebaju brinuti o svemu tome. 101 00:05:30,750 --> 00:05:33,670 >> I onda dosta pomoći online, naravno. 102 00:05:33,670 --> 00:05:37,040 Postoje mnoge, mnoge, mnoge web stranice koje će vam pomoći kako s 103 00:05:37,040 --> 00:05:38,880 Ruby i Rails. 104 00:05:38,880 --> 00:05:40,530 I to je puno zabave u kodu. 105 00:05:40,530 --> 00:05:46,770 Točno, jer možete prestati brinuti o tim nije tako zabavno problema. 106 00:05:46,770 --> 00:05:50,690 Kao i ako je nešto mala ili velika slova, a onda zašto je to 107 00:05:50,690 --> 00:05:54,500 dajući vam grešku segmentaciju, a zaista možete zaroniti u vrlo 108 00:05:54,500 --> 00:05:55,460 Zanimljiva stvar. 109 00:05:55,460 --> 00:05:59,650 Zaroniti u stvarno cool problema. 110 00:05:59,650 --> 00:06:02,420 >> Dakle, Ruby je isto kao da se C u smislu. 111 00:06:02,420 --> 00:06:05,950 Dakle, to neće biti tako velika skoka zapravo. 112 00:06:05,950 --> 00:06:09,470 Tako kaže, to je naš print app u Ruby. 113 00:06:09,470 --> 00:06:12,790 Mislim da bi mogao koristiti print previše, ali stavlja je ono što svatko koristi. 114 00:06:12,790 --> 00:06:14,490 Dakle, samo stavlja "Hello World". 115 00:06:14,490 --> 00:06:21,400 Mogla bi, ili ne može, ima zagrada okružuje 116 00:06:21,400 --> 00:06:23,280 "Hello World" postoji. 117 00:06:23,280 --> 00:06:25,350 Vi samo možete odabrati želite li ili ne koristiti. 118 00:06:25,350 --> 00:06:26,780 A onda x = "1". 119 00:06:26,780 --> 00:06:29,030 While petlja izgleda prilično velik dio isti. 120 00:06:29,030 --> 00:06:30,630 To samo ima manje sintaksu. 121 00:06:30,630 --> 00:06:32,590 To je vrsta čistač malo. 122 00:06:32,590 --> 00:06:37,380 A onda, ako x> 25 stavlja "Big!" i drugi stavlja "mali ...". 123 00:06:37,380 --> 00:06:39,070 I to je vrsta C u tom smislu. 124 00:06:39,070 --> 00:06:41,630 >> Dakle, ako pogledate da, možete Pristup vjerojatno razumjeti 125 00:06:41,630 --> 00:06:42,890 sve što se događa. 126 00:06:42,890 --> 00:06:47,750 No, to je moćniji. 127 00:06:47,750 --> 00:06:54,520 Snažniji, jer, više od toga, to može učiniti stvari nisu toliko - 128 00:06:54,520 --> 00:06:55,750 nekakva hackage malo. 129 00:06:55,750 --> 00:06:57,430 U C ne može učiniti u samo ne s jednom linijom. 130 00:06:57,430 --> 00:06:58,680 Na primjer, kaže: "Ja sam # {x}". 131 00:06:58,680 --> 00:07:04,330 132 00:07:04,330 --> 00:07:11,100 Ovo je samo sintaksa za staviti vrijednost od X ovdje, a ne ispisati 133 00:07:11,100 --> 00:07:12,160 lik x. 134 00:07:12,160 --> 00:07:17,850 U C što je morao učiniti posto d, a zatim staviti varijablu x. nakon 135 00:07:17,850 --> 00:07:19,730 zarez ovdje, ili nešto slično. 136 00:07:19,730 --> 00:07:22,220 >> I u Ruby postoji stenogram za samo da radi. 137 00:07:22,220 --> 00:07:27,830 I stavlja to, ako je x> 3, tako da možete staviti ako su svi na jednoj liniji. 138 00:07:27,830 --> 00:07:29,010 I onda popis. 139 00:07:29,010 --> 00:07:33,320 Popisi u C, kao i niz, morate pratiti koliko je velik vaš je polje ili 140 00:07:33,320 --> 00:07:34,720 inače dobili segmentaciju kvara. 141 00:07:34,720 --> 00:07:36,210 Vaš polje je samo jedna vrsta. 142 00:07:36,210 --> 00:07:38,790 Tako da je bilo niz naboja ili niz brojeva. 143 00:07:38,790 --> 00:07:43,620 U tom slučaju, stvorio sam popis ovdje, To je polje, koje ima prvi 144 00:07:43,620 --> 00:07:48,450 element je string, John, a zatim četiri, dva - to su cijeli brojevi. 145 00:07:48,450 --> 00:07:53,590 I onda sam samo dodati, popis, Lijevo kut nosač, lijevi 146 00:07:53,590 --> 00:07:54,820 Kut Bracket, tri. 147 00:07:54,820 --> 00:07:58,170 To znači samo dodati nešto na moj popis. 148 00:07:58,170 --> 00:08:01,630 >> Dakle, to je vrsta zanimljiviji, jer ako ste htjeli koristiti kao 149 00:08:01,630 --> 00:08:03,920 samo jednostavan popis brojeva, što ste mogli, potpuno. 150 00:08:03,920 --> 00:08:05,530 To je sasvim u redu. 151 00:08:05,530 --> 00:08:06,750 Samo stavite cijelih brojeva postoji. 152 00:08:06,750 --> 00:08:10,240 Ali, ako ste htjeli učiniti nešto što je uvjerljiviji, da ima druga 153 00:08:10,240 --> 00:08:11,690 stvari, da ima - 154 00:08:11,690 --> 00:08:15,480 Ne znam, sve vrste lista u postoji, ili druge predmete koji su više 155 00:08:15,480 --> 00:08:16,970 Zanimljivo, možete potpuno učiniti. 156 00:08:16,970 --> 00:08:17,880 To je potpuno u redu. 157 00:08:17,880 --> 00:08:21,210 A onda, ako želite ponoviti kroz Popis, možete koristiti 158 00:08:21,210 --> 00:08:24,850 više C-ish vrsta pristupa. 159 00:08:24,850 --> 00:08:29,970 To je za petlje, da pokrene varijabla, i = "1", ili i = "0". 160 00:08:29,970 --> 00:08:32,980 I onda idete, i ponoviti, i dobiti sve elemente. 161 00:08:32,980 --> 00:08:37,559 >> No, možete se također može koristiti to više Ruby poput pristup. 162 00:08:37,559 --> 00:08:40,289 To je baš kao list.each. 163 00:08:40,289 --> 00:08:45,230 To samo govori, vrati me svi elementi na popisu. 164 00:08:45,230 --> 00:08:49,120 I to sa svakom elementu, zovu ih ELEM. 165 00:08:49,120 --> 00:08:51,880 Dakle, ovo je samo ime koje sam daje svakom elementu. 166 00:08:51,880 --> 00:08:56,630 A sada ovo će ponoviti za sve elementi, i Elem, što se događa 167 00:08:56,630 --> 00:09:00,790 da se način na koji ćemo pristupiti da ni jedan element. 168 00:09:00,790 --> 00:09:04,310 Tako da u potpunosti mogao držati C pristup, ali to radi previše. 169 00:09:04,310 --> 00:09:07,970 I to je točno ista stvar, u redu. 170 00:09:07,970 --> 00:09:13,830 >> A osim toga, to je stvarno, stvarno lako integrirati Ruby i HTML 171 00:09:13,830 --> 00:09:17,010 jer ti dečki su zainteresirani u web aplikacijama. 172 00:09:17,010 --> 00:09:20,070 HTML je definitivno nešto što idete koristiti puno. 173 00:09:20,070 --> 00:09:25,820 A ovdje ako si htio staviti Ruby u HTML-u, samo početi ovdje, <%. 174 00:09:25,820 --> 00:09:28,500 To znači, ovdje Ruby počinje. 175 00:09:28,500 --> 00:09:32,130 A onda%>, vrsta kao PHP u tom smislu. 176 00:09:32,130 --> 00:09:35,520 Ovdje Ruby završava, a zatim možete Samo stavite, ako ovdje. 177 00:09:35,520 --> 00:09:39,400 I onda ja imam neke varijable user.logged_in. 178 00:09:39,400 --> 00:09:45,120 U Ruby, mi obično dodati one, bilo Ispitivanje je marka ili usklik 179 00:09:45,120 --> 00:09:48,210 Mark, poput lika banke, samo vrste 180 00:09:48,210 --> 00:09:49,480 razlikovati našim funkcijama. 181 00:09:49,480 --> 00:09:52,780 Ali ti samo stavi da za tvoje dobro. 182 00:09:52,780 --> 00:09:56,910 To nije nešto što se mijenja ništa u funkcionalnosti. 183 00:09:56,910 --> 00:10:01,160 >> Dakle, samo da me podsjeti kako je to funkcija - i funkcije u Ruby, 184 00:10:01,160 --> 00:10:06,650 umjesto C, kao što sam već rekao, oni ne trebaju zagrade. 185 00:10:06,650 --> 00:10:09,740 Tako da je prijavljeni stvar, to je funkcija, to je metoda. 186 00:10:09,740 --> 00:10:12,990 Ali ne izrijekom trebaju stavi zagrade tamo. 187 00:10:12,990 --> 00:10:16,030 Dakle, samo pita da li je korisnik prijavljen u, a ako korisnik je prijavljeni, sada 188 00:10:16,030 --> 00:10:17,100 HTML započinje ponovno. 189 00:10:17,100 --> 00:10:21,670 Dakle Dobrodošli, i ovdje Ja ispisati user.name. 190 00:10:21,670 --> 00:10:22,920 I to je to. 191 00:10:22,920 --> 00:10:24,970 192 00:10:24,970 --> 00:10:30,420 Dakle, to je prilično ravno naprijed, kako integrirati Ruby s HTML. 193 00:10:30,420 --> 00:10:34,560 I resursi, kao što sam rekao, postoje sve vrste sredstava za Ruby. 194 00:10:34,560 --> 00:10:39,560 Vi dečki svi mogu pogledati ovo gore poslije jer oba videa i 195 00:10:39,560 --> 00:10:40,875 natikače, idu na biti dostupan na internetu. 196 00:10:40,875 --> 00:10:44,620 197 00:10:44,620 --> 00:10:47,180 >> A sada idemo na šina. 198 00:10:47,180 --> 00:10:48,330 Šina je ljubav. 199 00:10:48,330 --> 00:10:49,230 Šine - 200 00:10:49,230 --> 00:10:51,030 pa Ruby je njegov jezik. 201 00:10:51,030 --> 00:10:54,340 OK, baš kao i PHP, baš kao i Python. 202 00:10:54,340 --> 00:10:59,980 To je jezik visoke razine, a ne kao C. C je srednje, niske razine jezika u 203 00:10:59,980 --> 00:11:05,240 Osjećaj da je Ruby ne moraju brinuti o memorije preraspodjele, a 204 00:11:05,240 --> 00:11:07,300 pokazivače, i one vrste stvari. 205 00:11:07,300 --> 00:11:11,120 Ali šina je ovo program koji napisan u Ruby. 206 00:11:11,120 --> 00:11:15,610 I to koristi Ruby, kako bi se ova okvir, za vas biti u mogućnosti 207 00:11:15,610 --> 00:11:18,990 izgraditi strašan web aplikacija. 208 00:11:18,990 --> 00:11:21,940 >> Dakle, morate najprije instalirati Ruby na vaše računalo, nego da većina računala 209 00:11:21,940 --> 00:11:22,630 već da. 210 00:11:22,630 --> 00:11:24,800 A onda instalirati tračnice na vrhu. 211 00:11:24,800 --> 00:11:26,540 Idemo razgovarati o tome malo kasnije. 212 00:11:26,540 --> 00:11:28,100 A zašto šina? 213 00:11:28,100 --> 00:11:31,470 Dakle MVC, to je prikaz modela kontroler razgovarali smo o tome malo 214 00:11:31,470 --> 00:11:36,050 malo, čini sve što je jednostavnije, jer ona dijeli stvari koje su 215 00:11:36,050 --> 00:11:42,420 konceptualno razlikuje u različite dijelovi vašeg zahtjeva. 216 00:11:42,420 --> 00:11:45,930 Manje vremena proveo na probleme niske razine, Ponovno, i jako 217 00:11:45,930 --> 00:11:46,820 popularni upravo sada. 218 00:11:46,820 --> 00:11:52,130 Dakle, za sve one koji su zainteresirani za start up scena, ili u nečemu 219 00:11:52,130 --> 00:11:58,435 kao što je pokretanje poslovanja, a ljudi u tehnološkom tržištu, koji su 220 00:11:58,435 --> 00:12:02,440 započeti vlastiti posao upravo sada su stvarno, stvarno ljubitelji Ruby na 221 00:12:02,440 --> 00:12:04,120 Šine, jer je to tako brzo. 222 00:12:04,120 --> 00:12:07,510 >> Dakle, možete dobiti nešto gore i trčanje u manje od jednog dana, a to je 223 00:12:07,510 --> 00:12:10,410 Stvarno vrlo uvjerljiv Argument za korištenje Ruby. 224 00:12:10,410 --> 00:12:13,460 I Šine 4,0 - 225 00:12:13,460 --> 00:12:15,920 to je vrlo svježe iz pećnice sada. 226 00:12:15,920 --> 00:12:16,930 Dakle Šine 4,0 - 227 00:12:16,930 --> 00:12:20,180 Mislim da je prvo izdanje bio je u ožujku ove godine. 228 00:12:20,180 --> 00:12:23,460 I to je jako lijepo, to je sve vrste novih, cool značajke. 229 00:12:23,460 --> 00:12:30,290 Dakle, Ruby on Rails je okvir koji je stalno ažuriraju imati sve 230 00:12:30,290 --> 00:12:31,540 nove tehnologije. 231 00:12:31,540 --> 00:12:33,710 232 00:12:33,710 --> 00:12:39,800 >> Prvi put kad sam pokušao koristiti Ruby na Šina, imao sam ovaj problem, jer sam 233 00:12:39,800 --> 00:12:44,540 stvorio svoj prvi web aplikacija, i izgledalo je točno tako. 234 00:12:44,540 --> 00:12:49,020 Tako se stvara sve te datoteke za ti, i nisam imao pojma što - 235 00:12:49,020 --> 00:12:50,780 Što je ovo? 236 00:12:50,780 --> 00:12:54,850 On je stvorio sve te datoteke, a samo sam želio stvoriti jednostavan program, 237 00:12:54,850 --> 00:12:57,140 Jednostavan HTML web stranice. 238 00:12:57,140 --> 00:12:59,680 A nisam ni mogao ništa učiniti. 239 00:12:59,680 --> 00:13:02,430 Tako sam bio malo osvaja. 240 00:13:02,430 --> 00:13:08,350 No, to je jedna od stvari koje su nekoć vam Razumijem ga, sve postaje tako 241 00:13:08,350 --> 00:13:09,190 mnogo jasnije. 242 00:13:09,190 --> 00:13:15,750 Dakle, nemojte se osvaja po prvi put Prizor ono što ste stvorili u početku. 243 00:13:15,750 --> 00:13:18,430 >> Dakle, ono što se događa je Rails stvara sve te datoteke. 244 00:13:18,430 --> 00:13:20,470 Dakle, jedan od koje je doc, dokumentacija. 245 00:13:20,470 --> 00:13:23,080 Db, koja je povezana s bazom podataka. 246 00:13:23,080 --> 00:13:25,060 Lib, koje je knjižnica prijaviti. 247 00:13:25,060 --> 00:13:28,200 Javno, skripta, a neke stvari. 248 00:13:28,200 --> 00:13:32,110 Više-manje sve što ćeš brinuti o je app folder, tamo gore. 249 00:13:32,110 --> 00:13:34,430 To je mapa koja sadrži Vaša prijava. 250 00:13:34,430 --> 00:13:35,540 Sve druge datoteke - 251 00:13:35,540 --> 00:13:37,770 Neki od njih su važni, a ti si će učiti o tome malo kasnije. 252 00:13:37,770 --> 00:13:42,040 No, oni su samo ovdje da sadržavati okvir. 253 00:13:42,040 --> 00:13:46,420 Tako da je prvi temelj kuće ti dečki su zgrade, OK? 254 00:13:46,420 --> 00:13:47,730 >> Ali app folder - 255 00:13:47,730 --> 00:13:49,630 to je jako važno. 256 00:13:49,630 --> 00:13:53,050 I app folder ima imovinu. 257 00:13:53,050 --> 00:13:57,690 Imovina je gotovo sve koje dolazi. 258 00:13:57,690 --> 00:14:01,890 Slike za primjer, sve ono što je statična da će se skinuti 259 00:14:01,890 --> 00:14:03,450 na svoju web stranicu. 260 00:14:03,450 --> 00:14:06,850 Dakle, slike, JavaScript, CSS - 261 00:14:06,850 --> 00:14:08,520 one vrste stvari koje su imovina. 262 00:14:08,520 --> 00:14:11,310 263 00:14:11,310 --> 00:14:12,260 Kontroleri - 264 00:14:12,260 --> 00:14:15,190 ćemo govoriti više o ono što su kontroleri, modeli, 265 00:14:15,190 --> 00:14:16,800 i polja u sekundi. 266 00:14:16,800 --> 00:14:20,760 A pomoćnici su funkcije koje možete koristiti u cijelom kodu 267 00:14:20,760 --> 00:14:22,800 će vam pomoći da učinite nešto. 268 00:14:22,800 --> 00:14:25,800 Funkcionira kao prijavljeni, za Primjer - user.loggedin. 269 00:14:25,800 --> 00:14:29,500 To je funkcija koja vjerojatno ste moraju koristiti u svim dijelovima 270 00:14:29,500 --> 00:14:30,030 Zahtjev. 271 00:14:30,030 --> 00:14:33,590 Tako možete staviti nešto poput koja u svom pomagač. 272 00:14:33,590 --> 00:14:34,370 >> Okružnice - 273 00:14:34,370 --> 00:14:41,480 to je, ako idete poslati e-mail za svoje korisnike, što 274 00:14:41,480 --> 00:14:43,420 želite koristiti okružnice. 275 00:14:43,420 --> 00:14:46,420 I modeli i pogleda, idemo razgovarati o tome da je upravo sada. 276 00:14:46,420 --> 00:14:52,450 Dakle Pogled modela kontroler, to je Temeljni kamen Ruby na 277 00:14:52,450 --> 00:14:55,730 Šina, i većina okviri danas, da budem iskren. 278 00:14:55,730 --> 00:15:01,180 Pa opet, izdvojimo sve naše koda u tri dijela. 279 00:15:01,180 --> 00:15:02,590 Model - 280 00:15:02,590 --> 00:15:04,620 Model je u osnovi baza podataka. 281 00:15:04,620 --> 00:15:06,090 Ona obrađuje stvari u bazi podataka. 282 00:15:06,090 --> 00:15:10,790 >> Dakle, svaki stol u bazi podataka ima odgovarajuću datoteku unutar modela. 283 00:15:10,790 --> 00:15:13,330 Dakle, to je vrsta stolom za svoje korisnike. 284 00:15:13,330 --> 00:15:18,250 Dakle, ti si pohranu podataka kao što su korisničko ime, njihove e-mailove, njihova 285 00:15:18,250 --> 00:15:20,970 adresa, njihove lozinke, i slične stvari. 286 00:15:20,970 --> 00:15:24,535 Ti ćeš imati jednu datoteku u Model se zove korisnik rb - 287 00:15:24,535 --> 00:15:26,240 rb za Ruby. 288 00:15:26,240 --> 00:15:30,180 I tu ćeš imati sve metoda i varijable. 289 00:15:30,180 --> 00:15:34,130 Varijable će odgovarati na korisničko ime, e-mail, i 290 00:15:34,130 --> 00:15:35,370 sve. 291 00:15:35,370 --> 00:15:37,760 >> A ti ćeš imati metode. 292 00:15:37,760 --> 00:15:42,690 To će biti nešto u vezi - 293 00:15:42,690 --> 00:15:46,400 ti ćeš nositi ove informacije u bazi podataka. 294 00:15:46,400 --> 00:15:50,220 Za izradu modela sa šina, samo koristiti šina generiraju. 295 00:15:50,220 --> 00:15:54,990 A za stvaranje stvari u šina, te zapravo potrebno terminal. 296 00:15:54,990 --> 00:15:58,770 Dakle, to je vrlo terminal based okvir. 297 00:15:58,770 --> 00:16:02,530 Vi samo prijaviti na terminalu, i ne Šine, generiranje modela. 298 00:16:02,530 --> 00:16:04,670 A ime modela je korisnik. 299 00:16:04,670 --> 00:16:10,270 A ja samo želim da se dvije varijable, dva stupca, u mom stolu. 300 00:16:10,270 --> 00:16:11,450 Tako da je e-mail. 301 00:16:11,450 --> 00:16:13,080 E-mail je tipa string. 302 00:16:13,080 --> 00:16:15,450 Lozinka, lozinka i tip niza. 303 00:16:15,450 --> 00:16:16,520 To su jedine dvije stvari. 304 00:16:16,520 --> 00:16:19,160 To je vrsta pojednostavljenom tablicu korisnika. 305 00:16:19,160 --> 00:16:22,490 Ali ti sigurno mogao staviti sto stvar je tu, ako ste htjeli. 306 00:16:22,490 --> 00:16:27,620 >> I Šine također čini ga vrlo, vrlo jednostavno imati sve 307 00:16:27,620 --> 00:16:30,040 vrste odnosa baze podataka. 308 00:16:30,040 --> 00:16:36,100 Tako obično, kada imate tablice u baza podataka, oni nisu jako puno 309 00:16:36,100 --> 00:16:37,570 neovisno jedan o drugom. 310 00:16:37,570 --> 00:16:39,392 Razmislimo o tome. 311 00:16:39,392 --> 00:16:42,960 Želite li kupiti i prodati proizvode online. 312 00:16:42,960 --> 00:16:46,620 U redu, tako da imate web stranicu na kojoj žele kupiti i prodati proizvode. 313 00:16:46,620 --> 00:16:55,060 Dakle, svaki korisnik ima mnogo proizvoda koji ovaj korisnik spreman prodati. 314 00:16:55,060 --> 00:17:00,970 I svaki korisnik ima mnogo transakcija koji su u tijeku, ili 315 00:17:00,970 --> 00:17:01,920 nešto slično. 316 00:17:01,920 --> 00:17:05,430 A o transakcijama s drugog korisnika. 317 00:17:05,430 --> 00:17:08,310 Svaka transakcija spada na dvije različite korisnike. 318 00:17:08,310 --> 00:17:10,560 Korisnik koji ih kupuje i Korisnik koji se prodaje. 319 00:17:10,560 --> 00:17:13,920 >> Dakle, to su takozvani baze podataka odnosi. 320 00:17:13,920 --> 00:17:17,890 A ovdje imamo upravo one ključne riječi, ima mnogo i pripada. 321 00:17:17,890 --> 00:17:19,500 Oni su najvažniji. 322 00:17:19,500 --> 00:17:22,410 A ti samo reći, za Na primjer, ovo je primjer 323 00:17:22,410 --> 00:17:25,740 Model na Harvardu 2017 web stranica. 324 00:17:25,740 --> 00:17:28,820 Opet, studenti su u ovdje - 325 00:17:28,820 --> 00:17:32,870 Svaki student na web stranici, student je model je tablica baze podataka. 326 00:17:32,870 --> 00:17:37,560 Svaki student je imao mnogo knjiga, jer vam Moglo bi se reći, ono što su vaše omiljene 327 00:17:37,560 --> 00:17:38,630 Knjige, zar ne. 328 00:17:38,630 --> 00:17:44,450 Dakle, svaka knjiga pripada student ovdje. 329 00:17:44,450 --> 00:17:46,910 I atribut dostupan - 330 00:17:46,910 --> 00:17:49,580 da samo govori, one su varijable. 331 00:17:49,580 --> 00:17:53,050 Oni su varijable dostupan iz tog modela. 332 00:17:53,050 --> 00:17:58,570 A varijable autor Knjiga, opis, žanr, i 333 00:17:58,570 --> 00:17:59,870 Naslov knjige. 334 00:17:59,870 --> 00:18:02,700 Dakle, samo informacija se odnosi na knjigu. 335 00:18:02,700 --> 00:18:06,410 >> I ovdje imam metodu koja jednostavno sortira sve. 336 00:18:06,410 --> 00:18:10,710 Dakle, definirati i završiti ovdje, to je samo govoreći, ovdje dolazi moj način. 337 00:18:10,710 --> 00:18:13,220 Self.sorted_all. 338 00:18:13,220 --> 00:18:16,390 To je samo, daj mi je sve riješeno, te da je, kako se provode 339 00:18:16,390 --> 00:18:22,360 sortiranje algoritam, što je prilično jednostavan. 340 00:18:22,360 --> 00:18:27,430 Ali u osnovi, to je kako Model izgleda kao, u redu. 341 00:18:27,430 --> 00:18:32,990 Ima li tko pitanja koja se tiču Ova baza podataka je stvar? 342 00:18:32,990 --> 00:18:33,736 Odnosi? 343 00:18:33,736 --> 00:18:36,430 Je li to jasno? 344 00:18:36,430 --> 00:18:37,125 Da. 345 00:18:37,125 --> 00:18:38,490 >> PUBLIKA: Možete li napraviti algoritam? 346 00:18:38,490 --> 00:18:41,960 >> GABRIEL GUIMARAES: algoritam, u redu. 347 00:18:41,960 --> 00:18:45,340 Kada se naviknete na Ruby sintakse, to će biti jasno. 348 00:18:45,340 --> 00:18:48,800 Ali u osnovi, elems je Book.all. 349 00:18:48,800 --> 00:18:50,820 Dakle, knjiga je ime mog modela. 350 00:18:50,820 --> 00:18:55,670 Kada stvorite modela, to dolazi s sve vrste lijepih metoda za vas. 351 00:18:55,670 --> 00:18:58,810 Dakle dot.all je metoda koja vraća sve knjige. 352 00:18:58,810 --> 00:19:02,560 Ali naći, primjerice, bi tražiti jedna knjiga i vratiti tu knjigu, ili 353 00:19:02,560 --> 00:19:03,840 nešto slično. 354 00:19:03,840 --> 00:19:05,990 I tako elems je sve. 355 00:19:05,990 --> 00:19:08,870 A ja sam samo rekao elems.sort. 356 00:19:08,870 --> 00:19:11,300 Sortiranje je ugrađena u Ruby funkcija. 357 00:19:11,300 --> 00:19:13,526 >> I, ne ab. 358 00:19:13,526 --> 00:19:15,940 Dakle, to ne opet je - 359 00:19:15,940 --> 00:19:17,400 idete za sortiranje. 360 00:19:17,400 --> 00:19:19,850 Ali, ti ćeš dobiti ovaj argument za mene. 361 00:19:19,850 --> 00:19:25,160 I argument koristi - to je jedan od Teže stvari u Ruby zapravo, 362 00:19:25,160 --> 00:19:26,920 to stvar. 363 00:19:26,920 --> 00:19:31,470 No, jednom kada ga shvatite sve dolazi vrlo, vrlo intuitivno. 364 00:19:31,470 --> 00:19:37,140 Dakle, ab, ovo govori mjesto Nositelji da ću koristiti - kao 365 00:19:37,140 --> 00:19:41,760 varijable Ja ću koristiti, su će biti pozvani i b. 366 00:19:41,760 --> 00:19:43,380 A oni su knjige. 367 00:19:43,380 --> 00:19:47,120 >> Pa zato vrsta treba usporediti elemente, sjetite se da? 368 00:19:47,120 --> 00:19:49,760 Dakle, kada ste sortirati stvari, te usporediti dva elementa. 369 00:19:49,760 --> 00:19:51,900 Ja ću reći da je svaki put idete uspoređivati ​​- 370 00:19:51,900 --> 00:19:54,350 tako da je ovo, ja prolazu sortirati argument. 371 00:19:54,350 --> 00:19:59,370 A argument je sve iz učiniti da i ovdje, u redu? 372 00:19:59,370 --> 00:20:02,980 I ovaj argument, samo govorim vrsta kako to usporediti. 373 00:20:02,980 --> 00:20:07,460 Sortiranje će raditi ovdje, ali to bi usporediti s njihovim 374 00:20:07,460 --> 00:20:09,530 default uspoređujući algoritam. 375 00:20:09,530 --> 00:20:13,810 Želim to usporediti u vrlo specifičan način, naime, kada je knjiga 376 00:20:13,810 --> 00:20:16,900 nastao, kada je svaka Knjiga je stvorio. 377 00:20:16,900 --> 00:20:21,090 >> Dakle, govorim, kažu ime prvog Knjiga je i naziv 378 00:20:21,090 --> 00:20:27,620 Druga knjiga kao b, želim vrsta za sortiranje nešto na temelju b.created_at to 379 00:20:27,620 --> 00:20:30,000 čudno simbol, a.created_at. 380 00:20:30,000 --> 00:20:34,350 I to čudno simbol je stenogram jer ako je netko veći od 381 00:20:34,350 --> 00:20:35,380 drugo, vratiti jedan. 382 00:20:35,380 --> 00:20:37,450 Ako je jednak drugo, vratiti na nulu. 383 00:20:37,450 --> 00:20:41,180 Ako je manji od drugo, povratak minus 1. 384 00:20:41,180 --> 00:20:43,435 Dakle, to je ono to čudno simbol. 385 00:20:43,435 --> 00:20:46,680 386 00:20:46,680 --> 00:20:47,500 >> No, to nije važno. 387 00:20:47,500 --> 00:20:52,780 Mislim, ono što želim ti dečki dobiti Trenutno je ideja da se baza podataka - 388 00:20:52,780 --> 00:20:54,150 možete imati model postoji. 389 00:20:54,150 --> 00:20:59,850 Dakle, ne morate brinuti o tome povezivanje i korištenje SQL, 390 00:20:59,850 --> 00:21:00,500 i slične stvari. 391 00:21:00,500 --> 00:21:04,920 On također može stvoriti vrata SQL injection i sve 392 00:21:04,920 --> 00:21:06,460 vrste sigurnosnih problema. 393 00:21:06,460 --> 00:21:07,930 U tom slučaju, ne znaš brinuti o tome. 394 00:21:07,930 --> 00:21:11,880 Vi samo koristiti metode kao što su book.all. 395 00:21:11,880 --> 00:21:15,210 I da, u pozadini, naravno, će se u bazu podataka, a to je 396 00:21:15,210 --> 00:21:17,570 će se koristiti SQL da se sve knjige. 397 00:21:17,570 --> 00:21:19,650 Ali vi ne morate brinuti o tome. 398 00:21:19,650 --> 00:21:24,090 To je takeaway, OK? 399 00:21:24,090 --> 00:21:26,790 >> A kad imate izjavu belongs_to ovako, to znači da 400 00:21:26,790 --> 00:21:31,780 nakon što su knjige objekt, možete vidjeti što je njegov učenik. 401 00:21:31,780 --> 00:21:34,130 Pa koji student ima ovu knjigu? 402 00:21:34,130 --> 00:21:38,760 Dakle, mi samo možemo koristiti book.student, a koji vam daje ono što učenik. 403 00:21:38,760 --> 00:21:42,440 I to je zapravo značajka da imaju. 404 00:21:42,440 --> 00:21:43,950 >> OK, sada pogled. 405 00:21:43,950 --> 00:21:48,380 Dakle model je ono što komunicira s bazom podataka, zar ne? 406 00:21:48,380 --> 00:21:52,240 Pogled je u osnovi HTML, i CSS, a neki JavaScript. 407 00:21:52,240 --> 00:21:55,080 I to je ono što je korisnik zapravo vidi. 408 00:21:55,080 --> 00:21:56,540 Korisnik neće vidjeli svoju bazu podataka. 409 00:21:56,540 --> 00:22:00,290 On će vidjeti neke podatke iz Baza podataka ugrađen u pregledniku. 410 00:22:00,290 --> 00:22:04,940 411 00:22:04,940 --> 00:22:08,410 Ruby on Rails ga čini uistinu jednostavno napraviti polja. 412 00:22:08,410 --> 00:22:12,780 Prvo, zato što ga već stvara za vas, iz kutije, a izgled. 413 00:22:12,780 --> 00:22:16,200 >> Raspored je u osnovi nešto što - 414 00:22:16,200 --> 00:22:24,230 ako sve Vaše stranice imaju logo na vrhu i, ne znam, neki izbornik ili 415 00:22:24,230 --> 00:22:29,000 nešto slično, da sve svoje stranice Udio zajedničko, onda ne 416 00:22:29,000 --> 00:22:34,830 potrebno je stvoriti mnogo, mnogo, mnogo HTML slika gdje su sve datoteke koje imaju 417 00:22:34,830 --> 00:22:36,830 Isti HTML koda. 418 00:22:36,830 --> 00:22:40,700 Mislim da je to glupo, jer ti si samo ponavlja kod između različitih datoteka. 419 00:22:40,700 --> 00:22:42,480 To definitivno nije dobar pristup. 420 00:22:42,480 --> 00:22:45,660 >> Dakle, Ruby on Rails stvara ovaj izgled za vas. 421 00:22:45,660 --> 00:22:49,770 I to samo govori, sve moje stranice će imati ovaj HTML, ovu glavu 422 00:22:49,770 --> 00:22:54,805 naslov ovdje, a oni su style sheet veza tag. 423 00:22:54,805 --> 00:22:56,800 Uključite se ovdje sve moje CSS. 424 00:22:56,800 --> 00:23:01,194 Uključite se ovdje sve moje JavaScript i neke meta oznake. 425 00:23:01,194 --> 00:23:04,440 To je samo nešto što se to automatski za vas. 426 00:23:04,440 --> 00:23:07,490 A onda, na kraju glavu, sada Ovdje počinje tijelo. 427 00:23:07,490 --> 00:23:09,780 A sad ovo je moj stvarni sadržaj. 428 00:23:09,780 --> 00:23:16,620 Dakle, ako sam htjela staviti nešto poput: Izbornik ovdje, ja bih ga stavio pravo nad 429 00:23:16,620 --> 00:23:19,600 Ovo mjesto, ili nešto slično, tako da su svi moji stranicama ga dijeli. 430 00:23:19,600 --> 00:23:21,730 Tako izgleda je podijelio po svim stranicama. 431 00:23:21,730 --> 00:23:26,500 >> Sada kada je prinos ovdje samo kaže, nema obzira na to što stranice je to u, samo 432 00:23:26,500 --> 00:23:30,560 priključite u sadržaju koji stranica ovdje, u redu? 433 00:23:30,560 --> 00:23:33,770 I sada je to, na primjer, Sadržaj jedne stranice koja će biti 434 00:23:33,770 --> 00:23:38,950 uključen u ovaj prinosa izjave automatski šina. 435 00:23:38,950 --> 00:23:40,700 No, to je izgleda zajedničko po svim stranicama. 436 00:23:40,700 --> 00:23:42,500 I to je primjer jedne stranice. 437 00:23:42,500 --> 00:23:46,410 I to je točno stranica koji sadrži popis svih knjiga. 438 00:23:46,410 --> 00:23:49,390 Dakle, ovo je osnovni HTML tablica do vrha. 439 00:23:49,390 --> 00:23:53,730 Dakle, popis knjiga, naslov, autor, Opis, žanr. 440 00:23:53,730 --> 00:24:00,810 >> I ovdje koristimo, opet, neki Ruby sintakse, @ books.each-- 441 00:24:00,810 --> 00:24:07,720 @ Vrsta, kaže da je vaš promjenjiva je globalno u smislu. 442 00:24:07,720 --> 00:24:10,940 Budući da ova varijabla je zapravo proglasio u kontroler koji 443 00:24:10,940 --> 00:24:12,840 ti ćeš odmah vidjeti. 444 00:24:12,840 --> 00:24:18,570 Ali samo uzeti zdravo za gotovo da je ova @ Knjiga je varijabla koja je popis 445 00:24:18,570 --> 00:24:20,000 sve knjige. 446 00:24:20,000 --> 00:24:24,580 Dakle books.each, ne, i opet, ovo je samo kažem kako želite nazvati 447 00:24:24,580 --> 00:24:29,580 svaki od iterators, tako da mi ne morate brinuti o četiri, int i 448 00:24:29,580 --> 00:24:30,630 bla, bla, bla. 449 00:24:30,630 --> 00:24:33,760 Mi samo uzeti svaku od elementi i koristiti ih. 450 00:24:33,760 --> 00:24:38,890 >> Dakle, ovo je knjiga, a onda samo za ispis ovdje. book.Title, book.author, 451 00:24:38,890 --> 00:24:41,020 book.description, a bla, bla, bla. 452 00:24:41,020 --> 00:24:42,940 I evo LINK_TO. 453 00:24:42,940 --> 00:24:46,840 Dakle LINK_TO je samo karika tag koje korisnik može kliknuti na i 454 00:24:46,840 --> 00:24:49,040 ide na drugu web stranicu. 455 00:24:49,040 --> 00:24:51,160 LINK_TO, pokazuju određene knjige. 456 00:24:51,160 --> 00:24:56,480 Dakle, ako korisnik je vrlo zainteresiran za ova knjiga, onda on može kliknuti na show. 457 00:24:56,480 --> 00:24:59,350 Ili kliknite na edit, ako želi urediti knjigu. 458 00:24:59,350 --> 00:25:03,560 Ili uništiti, ako želi izbrisati Knjiga iz baze podataka. 459 00:25:03,560 --> 00:25:06,260 OK, to ima smisla? 460 00:25:06,260 --> 00:25:08,610 Dobro. 461 00:25:08,610 --> 00:25:10,600 >> Konačno, kontroler. 462 00:25:10,600 --> 00:25:17,150 Tako je u osnovi kontroler sučelje između 463 00:25:17,150 --> 00:25:20,040 model i pogled. 464 00:25:20,040 --> 00:25:25,120 Dakle model je dio svoje kod koji ima bazu podataka - 465 00:25:25,120 --> 00:25:27,620 svaka tablica u bazi podataka ima odgovarajuću datoteku u 466 00:25:27,620 --> 00:25:30,120 modela, i tako dalje. 467 00:25:30,120 --> 00:25:34,890 I kako napraviti model i Pogled u interakciji? 468 00:25:34,890 --> 00:25:36,990 Dakle, kroz kontroler. 469 00:25:36,990 --> 00:25:43,620 Što kontroler čini se da je Model za nešto kao što je, primjerice, 470 00:25:43,620 --> 00:25:46,510 staviti sve knjige unutar varijable. 471 00:25:46,510 --> 00:25:47,760 Kao što je ovaj jedan, @ knjigama. 472 00:25:47,760 --> 00:25:50,200 473 00:25:50,200 --> 00:25:54,800 >> I to treba biti globalna s ovim na stvar, jer to će biti 474 00:25:54,800 --> 00:25:56,180 pristupiti pogledom. 475 00:25:56,180 --> 00:26:00,000 To neće biti korišten u roku Sam kontroler. 476 00:26:00,000 --> 00:26:03,160 I to samo usporava informacije koje Pogled će se koristiti. 477 00:26:03,160 --> 00:26:08,030 Na primjer, provjerava kontroler ako je korisnik online. 478 00:26:08,030 --> 00:26:09,620 I kako to učiniti? 479 00:26:09,620 --> 00:26:11,760 On zapravo traži model jer model ima 480 00:26:11,760 --> 00:26:12,890 informacija o korisniku. 481 00:26:12,890 --> 00:26:15,840 Ona ima stol korisnicima, KNJIGE Stol, ostali tablice. 482 00:26:15,840 --> 00:26:18,560 Dakle kontroler pita Korisnik je online. 483 00:26:18,560 --> 00:26:23,760 Ako je korisnik online, kontroler ručke stvari poput stavljanja kolačić, 484 00:26:23,760 --> 00:26:28,120 ili nešto slično, staviti pečat reći da je korisnik online. 485 00:26:28,120 --> 00:26:29,930 Nema potrebe da se ponovno prijaviti. 486 00:26:29,930 --> 00:26:34,080 >> I to će se učitati varijablu korisnik, na primjer, da se 487 00:26:34,080 --> 00:26:35,130 Pogled može koristiti. 488 00:26:35,130 --> 00:26:42,375 A pogled može staviti nešto ovdje, primjerice, dobrodošli user.name. 489 00:26:42,375 --> 00:26:46,040 Dakle, to će reći, dobro došli John, dobrodošli James - 490 00:26:46,040 --> 00:26:47,390 tako nešto, zar ne? 491 00:26:47,390 --> 00:26:50,380 Dakle, sve te varijable koristi u Pogled će biti uložen u 492 00:26:50,380 --> 00:26:54,190 kontroler i će biti izvukao se iz modela. 493 00:26:54,190 --> 00:26:58,310 494 00:26:58,310 --> 00:27:00,555 >> To je primjer kontroler. 495 00:27:00,555 --> 00:27:03,140 496 00:27:03,140 --> 00:27:08,640 Tako smo, zapravo, svaki - 497 00:27:08,640 --> 00:27:10,010 nazivamo one stvari radnje. 498 00:27:10,010 --> 00:27:11,570 Tako je indeks akcija. 499 00:27:11,570 --> 00:27:13,820 To je funkcija Ruby. 500 00:27:13,820 --> 00:27:16,160 To je Ruby metoda unutra. 501 00:27:16,160 --> 00:27:19,350 Ali za kontroler pozive Te stvari radnje. 502 00:27:19,350 --> 00:27:24,830 A svaka akcija vezana je uz put. 503 00:27:24,830 --> 00:27:29,350 Pa evo ovaj put, na primjer, je get izjava / knjige. 504 00:27:29,350 --> 00:27:37,500 Dakle, ako idete na harvard2017.com/books, što će se dogoditi je to kod 505 00:27:37,500 --> 00:27:40,630 će se zvati. 506 00:27:40,630 --> 00:27:44,290 >> A tu je sliku - 507 00:27:44,290 --> 00:27:46,010 neka mi otvoriti ovaj jako brzi. 508 00:27:46,010 --> 00:27:51,310 509 00:27:51,310 --> 00:27:55,386 Tu je sliku nazvao RAW datoteka. 510 00:27:55,386 --> 00:27:57,920 To ne otvara. 511 00:27:57,920 --> 00:28:02,330 Dakle, tu je sliku nazvao sirovo sliku da je u osnovi odgovara - 512 00:28:02,330 --> 00:28:03,580 oh, sad se otvara. 513 00:28:03,580 --> 00:28:15,900 514 00:28:15,900 --> 00:28:17,550 Evo, rute. 515 00:28:17,550 --> 00:28:24,440 Tako je u osnovi podudara pritisak, aktivacija / novi primjer, da 516 00:28:24,440 --> 00:28:27,810 nešto u kontroleru. 517 00:28:27,810 --> 00:28:31,580 Dakle, tu je ovaj kontroler zove aktivacija kontroler, ali ovdje, 518 00:28:31,580 --> 00:28:32,790 imamo knjige, na primjer. 519 00:28:32,790 --> 00:28:33,740 Tako utakmice - 520 00:28:33,740 --> 00:28:39,040 knjiga / new, na kontroleru Knjige, akcija novi. 521 00:28:39,040 --> 00:28:41,290 Tako je u osnovi, vrlo jednostavan stvari. 522 00:28:41,290 --> 00:28:43,970 523 00:28:43,970 --> 00:28:48,770 >> I ovdje, ako ste morali dobiti / knjige, slash ID-knjigama, slash novi, 524 00:28:48,770 --> 00:28:53,250 ćeš ići na to Ruby metoda tamo dolje. 525 00:28:53,250 --> 00:28:58,210 Pa evo, ono što ovaj index radi samo učitava knjiga zapisnik. 526 00:28:58,210 --> 00:28:59,570 To je nešto što - 527 00:28:59,570 --> 00:29:02,160 Ja prijaviti sve knjige u zapisnik. 528 00:29:02,160 --> 00:29:03,050 I sortirati sve. 529 00:29:03,050 --> 00:29:05,870 Dakle, to će se vratiti svi poredani knjige. 530 00:29:05,870 --> 00:29:07,940 To je, opet, u bazi podataka. 531 00:29:07,940 --> 00:29:09,570 Dakle, ovo je metoda i modela. 532 00:29:09,570 --> 00:29:12,440 Vidjeli ste ova metoda biti stvorena u modelu. 533 00:29:12,440 --> 00:29:16,170 Sada je to samo učitava sve knjige i da je stavljanjem u varijablu koja 534 00:29:16,170 --> 00:29:17,490 može se vidjeti po pogledu. 535 00:29:17,490 --> 00:29:20,680 >> Zato što ne mogu, u sredini HTML kodu, ne možete nazvati 536 00:29:20,680 --> 00:29:23,940 nešto izravno iz modela zbog dva razloga. 537 00:29:23,940 --> 00:29:28,260 Prvo, iz sigurnosnih razloga, jer to nije stvarno zanimljivo biti 538 00:29:28,260 --> 00:29:32,920 učitava podatke izravno unutar svaki HTML da je u bazi podataka. 539 00:29:32,920 --> 00:29:36,030 I drugo, da bi se Kod jako organizirana. 540 00:29:36,030 --> 00:29:38,800 Dakle, odvojite točno Različiti dijelovi. 541 00:29:38,800 --> 00:29:42,830 Dakle BookLog.sorted_all, to je u baza podataka, a to će se staviti u 542 00:29:42,830 --> 00:29:44,290 varijabla @ knjigama. 543 00:29:44,290 --> 00:29:47,695 I sad je ta varijabla je dostupna u HTML kodu. 544 00:29:47,695 --> 00:29:54,610 Dakle, možete samo staviti sve knjige postoje baš kao što smo mi, upravo ovdje. 545 00:29:54,610 --> 00:29:57,760 To je varijabla. 546 00:29:57,760 --> 00:30:04,730 >> I posjeta respond_to učiniti | format |, to je samo neka vrsta Ruby sintakse za 547 00:30:04,730 --> 00:30:08,140 ako je korisnik me pita za HTML kod, ja ću 548 00:30:08,140 --> 00:30:09,340 odgovoriti HTML koda. 549 00:30:09,340 --> 00:30:15,500 Ako me korisnik pita s JSON koda, što je nešto što web aplikacije koriste 550 00:30:15,500 --> 00:30:20,780 da komuniciraju između sebe, oni obično koriste JSON ili neki drugi 551 00:30:20,780 --> 00:30:23,120 Takve stvari. 552 00:30:23,120 --> 00:30:25,850 Pa to samo reagira pomoću onih dvije različite formate. 553 00:30:25,850 --> 00:30:31,720 No, za normalan korisnika, ovaj Ne bi trebao biti ovdje. 554 00:30:31,720 --> 00:30:34,060 Ti bi samo odgovoriti HTML, i to je u redu. 555 00:30:34,060 --> 00:30:36,220 Pa stvarno ne brinuti da toliko o tome. 556 00:30:36,220 --> 00:30:39,510 To je jedina linija koda u našoj Kontrola kao što je utovar iz HTML 557 00:30:39,510 --> 00:30:42,630 baza podataka, stavljajući je u nečemu što je dostupna pogledom. 558 00:30:42,630 --> 00:30:49,870 >> I onda novi, pa evo Ja sam stvaranje knjige. 559 00:30:49,870 --> 00:30:55,490 No, za stvaranje knjige, trebam studenta jer moram znati studenta 560 00:30:55,490 --> 00:30:58,490 čije knjige to pripadaju, zar ne. 561 00:30:58,490 --> 00:31:00,780 Dakle @ student = student. 562 00:31:00,780 --> 00:31:06,500 Student, opet, mi počinjemo s S velikim je model student. 563 00:31:06,500 --> 00:31:09,380 U redu, tako da je ovo model student, to je model knjiga dnevnika. 564 00:31:09,380 --> 00:31:15,150 Student.find, pa ću naći Student pomoću parametara ID. 565 00:31:15,150 --> 00:31:19,160 params.id, ovo je samo bi mi vrijednost ovog ID koji je donesen - 566 00:31:19,160 --> 00:31:23,410 i URL. 567 00:31:23,410 --> 00:31:25,440 >> Samo će se tražiti da student. 568 00:31:25,440 --> 00:31:28,420 I prvi put, idemo provjeriti ako student ima neke pjesme 569 00:31:28,420 --> 00:31:29,910 i bla, bla, bla. 570 00:31:29,910 --> 00:31:35,570 A to je već ručke slučaj kada je učenik 571 00:31:35,570 --> 00:31:38,340 ne postoji, na primjer. 572 00:31:38,340 --> 00:31:44,450 A onda, drugo, samo mi odgovorite na istu stvar pomoću HTML. 573 00:31:44,450 --> 00:31:47,570 A onda možemo pustiti korisnik stvarati svoje pjesme. 574 00:31:47,570 --> 00:31:49,320 Dakle, ovo je nova. 575 00:31:49,320 --> 00:31:52,580 Novi se obično koristi za, neka Korisnik stvoriti nešto. 576 00:31:52,580 --> 00:31:56,440 A tu je stvoriti akciju koji se obično koristi za - 577 00:31:56,440 --> 00:31:59,040 zapravo staviti pjesme u bazi podataka ili nešto slično. 578 00:31:59,040 --> 00:32:01,770 No, jednom kada počnete koristiti šina, te stvari će biti 579 00:32:01,770 --> 00:32:05,110 mnogo, mnogo jasnije. 580 00:32:05,110 --> 00:32:07,910 OK, ohladi. 581 00:32:07,910 --> 00:32:09,715 Bilo kakva pitanja do sada? 582 00:32:09,715 --> 00:32:15,240 Da li ima smisla s kontrolerima, modeli, polja - 583 00:32:15,240 --> 00:32:17,860 Je li? 584 00:32:17,860 --> 00:32:20,980 >> Opet u vašem Rails aplikaciju - 585 00:32:20,980 --> 00:32:24,700 pa sve to može se naći ovdje. 586 00:32:24,700 --> 00:32:30,430 Dakle imate app, kontrolere, one su svi moji kontrolera. 587 00:32:30,430 --> 00:32:32,880 Tako na primjer, knjige kontrolirati. 588 00:32:32,880 --> 00:32:35,490 To je onaj koji smo upravo vidjeli. 589 00:32:35,490 --> 00:32:36,400 A onda pogleda. 590 00:32:36,400 --> 00:32:39,750 I svaki kontroler ima povezana pogled, zar ne? 591 00:32:39,750 --> 00:32:43,750 Tako se automatski kada se to zvati Indeks ovdje, na primjer, ili kada 592 00:32:43,750 --> 00:32:49,930 to zovu knjige novu, onda pogled, Knjige, nova će se zvati. 593 00:32:49,930 --> 00:32:53,300 >> Dakle šina sve radi automatski za vas. 594 00:32:53,300 --> 00:32:59,420 Dakle, svaki kontroler je povezana pregled i sve modele - 595 00:32:59,420 --> 00:33:01,970 Ovdje imam jedan, dva, tri, četiri, pet modela. 596 00:33:01,970 --> 00:33:05,800 No, to je model učenika, tako da oni su varijable koje sve 597 00:33:05,800 --> 00:33:08,620 studenti imaju - lokalizacija, datum rođenja. 598 00:33:08,620 --> 00:33:11,270 Studenti se malo više komplicirano jer svaki student ima 599 00:33:11,270 --> 00:33:15,400 više drugačiji način povezana s njom. 600 00:33:15,400 --> 00:33:18,770 No, to je samo rukovanje stol koji je imao sve 601 00:33:18,770 --> 00:33:21,980 učenici u bazi podataka. 602 00:33:21,980 --> 00:33:24,300 >> A, OK, instalacija šina. 603 00:33:24,300 --> 00:33:27,710 Instaliranje šina, da budem iskren, nije najjednostavnija stvar. 604 00:33:27,710 --> 00:33:32,980 No, nakon što se posljednjih svemu, to je vrlo, vrlo jednostavno. 605 00:33:32,980 --> 00:33:38,810 Dakle instalacija šina, samo idite na website, rubyandrails.org / preuzimanje 606 00:33:38,810 --> 00:33:41,510 i slijediti njihove upute postoji. 607 00:33:41,510 --> 00:33:42,700 Preuzmite sve. 608 00:33:42,700 --> 00:33:46,600 A vi možete učiniti da se ni u Appliance, u CS50 Appliance, na 609 00:33:46,600 --> 00:33:51,120 Windows, na Mac, ili bilo koji operativni Sustav po vašem izboru. 610 00:33:51,120 --> 00:33:52,460 Ruby on Rails radi na svemu. 611 00:33:52,460 --> 00:33:56,680 >> Tečajevi su ste već Ruby instaliran ako imate Mac ili - 612 00:33:56,680 --> 00:33:58,130 u aparate mislim Ruby je - 613 00:33:58,130 --> 00:34:00,940 Nisam siguran. 614 00:34:00,940 --> 00:34:02,440 I onda samo trebate to instalira. 615 00:34:02,440 --> 00:34:07,190 A ako želite stvoriti novi web aplikacija, samo 616 00:34:07,190 --> 00:34:10,270 napraviti tračnice, novi, blog. 617 00:34:10,270 --> 00:34:12,429 Šina, novi - 618 00:34:12,429 --> 00:34:13,310 Ne znam - 619 00:34:13,310 --> 00:34:15,050 ime vaše web stranice. 620 00:34:15,050 --> 00:34:16,380 I to je tako jednostavno. 621 00:34:16,380 --> 00:34:19,060 >> To će stvoriti sve one slika sam ti samo pokazao. 622 00:34:19,060 --> 00:34:22,730 No, model, pogled, i Kontrolor ne će biti 623 00:34:22,730 --> 00:34:24,330 još naseljena. 624 00:34:24,330 --> 00:34:28,710 Samo ćeš se morati ići tamo i naseliti one tri mape. 625 00:34:28,710 --> 00:34:32,840 Dakle, izgledi su, želite stvoriti model, primjerice, provesti jedan 626 00:34:32,840 --> 00:34:33,780 model prvi. 627 00:34:33,780 --> 00:34:40,440 Pa opet, uvijek pokušava ugristi manji komadići problem na vrijeme. 628 00:34:40,440 --> 00:34:42,659 >> I onda, recimo, stvoriti Model za svoje korisnike. 629 00:34:42,659 --> 00:34:44,370 To je prva stvar ako imate korisnicima. 630 00:34:44,370 --> 00:34:48,440 Onda želim stvoriti model baš kao što smo pokazali ovdje. 631 00:34:48,440 --> 00:34:58,470 Šina, generirati, model, korisnik, a zatim e-mail string - imamo to ovdje. 632 00:34:58,470 --> 00:35:01,200 I samo stvoriti taj model, da. 633 00:35:01,200 --> 00:35:05,030 Šine generirati korisnika modela e-mail: niz lozinka: Niz. 634 00:35:05,030 --> 00:35:09,650 >> I onda stvoriti kontroler koja se bavi korisnika. 635 00:35:09,650 --> 00:35:12,790 A možete stvoriti nove korisnike i to one vrste stvari. 636 00:35:12,790 --> 00:35:18,280 A onda možete prijeći na stvaranje ostatak vaše web stranice. 637 00:35:18,280 --> 00:35:22,470 Cool, pitanja? 638 00:35:22,470 --> 00:35:23,230 Da. 639 00:35:23,230 --> 00:35:24,480 >> PUBLIKA: [nečujan] 640 00:35:24,480 --> 00:35:27,430 641 00:35:27,430 --> 00:35:29,910 >> GABRIEL GUIMARAES: Da, da, ti definitivno morati ići u mišljenju. 642 00:35:29,910 --> 00:35:31,290 To je jako dobro pitanje. 643 00:35:31,290 --> 00:35:36,410 Dakle, pogled je ono što zapravo sadrži HTML-a. 644 00:35:36,410 --> 00:35:39,240 Dakle, to je ono što je korisnik ćemo vidjeti. 645 00:35:39,240 --> 00:35:46,690 Opet, ovdje je to Primjer prikazu. 646 00:35:46,690 --> 00:35:52,040 Ima HTML koda i Ruby Kod istovremeno. 647 00:35:52,040 --> 00:35:56,010 Dakle Ruby kod je tamo staviti stvari iz baze podataka, na primjer, 648 00:35:56,010 --> 00:35:59,150 koji su stavljeni na kontroleru. 649 00:35:59,150 --> 00:36:04,240 Tako da je varijabla 'knjigama, na primjer, ima sve knjige i tablice 650 00:36:04,240 --> 00:36:05,340 knjiga u bazu podataka. 651 00:36:05,340 --> 00:36:08,680 Napravili smo sigurni da je imao u kontroleru. 652 00:36:08,680 --> 00:36:10,250 >> I pogled - 653 00:36:10,250 --> 00:36:15,900 svaku od stranica off vaše web stranice je će imati jednu povezanu pogled. 654 00:36:15,900 --> 00:36:21,762 Dakle, ako idete na početnu stranicu, Prva stranica, harvard2017.com. 655 00:36:21,762 --> 00:36:23,490 To pokazuje jednu stranicu. 656 00:36:23,490 --> 00:36:26,760 I onda ide da udarac profila. 657 00:36:26,760 --> 00:36:30,150 To će ići na kontroler to je kontroler profil. 658 00:36:30,150 --> 00:36:34,620 I kontroler profil ide da vam pogled profila. 659 00:36:34,620 --> 00:36:37,590 A pogled na profil će izgledati nešto kao što je ovaj, ali to će se 660 00:36:37,590 --> 00:36:41,910 imati podatke o korisniku, , a ne o knjigama. 661 00:36:41,910 --> 00:36:46,840 >> Dakle, to je HTML kod i CSS i onih stvari koje korisnik vidi 662 00:36:46,840 --> 00:36:49,680 s Ruby koda - 663 00:36:49,680 --> 00:36:52,505 koji zapravo ispisuje stvari iz baze podataka. 664 00:36:52,505 --> 00:36:54,520 Je li jasnije? 665 00:36:54,520 --> 00:36:55,080 Nadam se. 666 00:36:55,080 --> 00:36:58,066 >> PUBLIKA: HTML koda se koristi za zapravo napraviti web stranicu koja 667 00:36:58,066 --> 00:37:02,470 korisnik vidi, ali Ruby kod ono što čini web stranice rade? 668 00:37:02,470 --> 00:37:06,500 >> GABRIEL GUIMARAES: Ruby koda dobiva pretvaraju u HTML. 669 00:37:06,500 --> 00:37:09,420 Dakle, ono što korisnik dobiva samo HTML, OK? 670 00:37:09,420 --> 00:37:10,900 To je samo HTML. 671 00:37:10,900 --> 00:37:18,740 Ovaj book.Title će pretvoriti u Vrijednost book.Title u HTML-u, u redu. 672 00:37:18,740 --> 00:37:23,080 Dakle, ovo je sve u server, i tako to ovisi o tome što su knjige postoji 673 00:37:23,080 --> 00:37:24,410 u poslužitelju upravo sada. 674 00:37:24,410 --> 00:37:32,930 No, ono što poslužitelj odmah bi Osjećaj je samo HTML koda, OK. 675 00:37:32,930 --> 00:37:36,720 >> Ali pogled samo daje izgled ono HTML je kako će izgledati 676 00:37:36,720 --> 00:37:39,530 a što se varijable će biti. 677 00:37:39,530 --> 00:37:42,170 Ovakav isprintati, OK. 678 00:37:42,170 --> 00:37:44,360 Te stvari postoje osnovi ispisati izlasci. 679 00:37:44,360 --> 00:37:47,430 Oni će ispisati varijable, u redu. 680 00:37:47,430 --> 00:37:49,850 Dakle, što je samo HTML, one - 681 00:37:49,850 --> 00:37:51,390 autor, naslov, opis. 682 00:37:51,390 --> 00:37:53,540 To je statički sadržaj. 683 00:37:53,540 --> 00:37:54,520 To se neće promijeniti. 684 00:37:54,520 --> 00:37:56,700 To je samo običan HTML koda. 685 00:37:56,700 --> 00:37:59,080 Oni su print izlasci varijable - 686 00:37:59,080 --> 00:38:00,330 stvari koje ovise. 687 00:38:00,330 --> 00:38:02,350 688 00:38:02,350 --> 00:38:03,600 Cool, više pitanja? 689 00:38:03,600 --> 00:38:12,120 690 00:38:12,120 --> 00:38:12,600 Dobro? 691 00:38:12,600 --> 00:38:13,080 Da. 692 00:38:13,080 --> 00:38:15,720 >> Ivanković: Mislim da ste radili sve uređivanje u drugom tekstu 693 00:38:15,720 --> 00:38:16,920 program za uređivanje. 694 00:38:16,920 --> 00:38:19,520 Trebamo li i preuzeti to? 695 00:38:19,520 --> 00:38:24,250 >> GABRIEL GUIMARAES: Da, ja to volim tekst editor zove TextMate. 696 00:38:24,250 --> 00:38:24,990 I to je jako dobro. 697 00:38:24,990 --> 00:38:26,980 To je dobro prilagođen za Ruby. 698 00:38:26,980 --> 00:38:29,270 To boje stvari vrlo uredno. 699 00:38:29,270 --> 00:38:34,770 Dakle TextMate, T-E-X-T. Idem staviti da je, drži se - 700 00:38:34,770 --> 00:38:42,880 701 00:38:42,880 --> 00:38:45,720 >> Mislim da možete koristiti gedit ili bilo što želite. 702 00:38:45,720 --> 00:38:49,970 No, to je specifičan za Mac, a to stvarno uredno jer stavlja sve 703 00:38:49,970 --> 00:38:51,000 datoteke tamo dolje. 704 00:38:51,000 --> 00:38:53,620 I u Ruby on Rails, trebate prebaciti podnese puno. 705 00:38:53,620 --> 00:38:55,890 Dakle, to je mnogo, mnogo slika samo idu iz jedne datoteke, skočiti na 706 00:38:55,890 --> 00:38:57,120 jedne datoteke ili drugi. 707 00:38:57,120 --> 00:39:02,000 Dakle TextMate je vrlo dobar, ali ima dosta vani. 708 00:39:02,000 --> 00:39:03,250 Više pitanja? 709 00:39:03,250 --> 00:39:08,680 710 00:39:08,680 --> 00:39:09,870 U redu, zar ne? 711 00:39:09,870 --> 00:39:12,825 >> PUBLIKA: Ima li mobilni razvoj kroz Ruby on Rails? 712 00:39:12,825 --> 00:39:15,640 713 00:39:15,640 --> 00:39:17,050 >> GABRIEL GUIMARAES: Nemam Čuo stvari. 714 00:39:17,050 --> 00:39:19,550 Nisam ih koristi. 715 00:39:19,550 --> 00:39:21,570 Ti bi mogao istražiti više o tome. 716 00:39:21,570 --> 00:39:24,740 Nisam siguran da li postoji bilo kakav dobra stvar vani. 717 00:39:24,740 --> 00:39:29,980 718 00:39:29,980 --> 00:39:31,030 U redu, zar ne? 719 00:39:31,030 --> 00:39:32,280 >> PUBLIKA: [nečujan] 720 00:39:32,280 --> 00:39:38,340 721 00:39:38,340 --> 00:39:40,550 >> Gabriel Guimaraes: Nije šina, Vjerojatno Ruby polje. 722 00:39:40,550 --> 00:39:44,270 723 00:39:44,270 --> 00:39:49,080 Otvorite prozor terminala i tip, "Ruby". 724 00:39:49,080 --> 00:39:52,030 Da, vjerojatno, a onda samo morati instalirati šina. 725 00:39:52,030 --> 00:39:57,050 Ali ako ćete instalirati novi Šine 4.0, koji sam visoko preporučiti, 726 00:39:57,050 --> 00:40:02,870 trebali preuzeti Ruby 2.0. 727 00:40:02,870 --> 00:40:04,530 To je novi previše. 728 00:40:04,530 --> 00:40:09,530 I novi Rails 4,0 ima nešto stvarno cool da 729 00:40:09,530 --> 00:40:11,260 to radi na imovinu. 730 00:40:11,260 --> 00:40:12,810 Ona obrađuje imovinu. 731 00:40:12,810 --> 00:40:18,860 Imovina opet su slike, CSS datoteke, i JavaScript datoteke. 732 00:40:18,860 --> 00:40:24,060 Tako je jedan stvarno uredan stvar koja Ruby on Šine nema za vas je sve te CSS 733 00:40:24,060 --> 00:40:26,980 datoteke koje ste i sve - 734 00:40:26,980 --> 00:40:32,420 to samo snopovi sve gore u jednu velike datoteke, bez razmaka ili bilo što, 735 00:40:32,420 --> 00:40:40,120 kako bi se smanjila vrijeme korisnik treba skinuti taj kod s poslužitelja. 736 00:40:40,120 --> 00:40:47,780 >> Dakle, kada vidite na vašem računalu, to je će imati oko 15 CSS datoteke. 737 00:40:47,780 --> 00:40:49,520 Ili mnogo, mnogo različitih CSS datoteke. 738 00:40:49,520 --> 00:40:54,890 No, na kraju dana, što Šine automatski znači za vas je to stavlja 739 00:40:54,890 --> 00:41:00,760 sve zajedno u jednu veliku datoteku tako da se smanjuje vrijeme zahtjev. 740 00:41:00,760 --> 00:41:02,630 To je stvarno cool. 741 00:41:02,630 --> 00:41:02,940 Da? 742 00:41:02,940 --> 00:41:04,190 >> PUBLIKA: [nečujan] 743 00:41:04,190 --> 00:41:13,910 744 00:41:13,910 --> 00:41:14,440 >> GABRIEL GUIMARAES: Točno. 745 00:41:14,440 --> 00:41:16,230 Dakle, integraciju Google Maps. 746 00:41:16,230 --> 00:41:20,200 To je JavaScript API iz Googlea. 747 00:41:20,200 --> 00:41:23,750 Tako da sam samo otišao na Google stranicama. 748 00:41:23,750 --> 00:41:29,950 Oni su ovaj Google Maps API-ja i ja skinuti kod i integriran 749 00:41:29,950 --> 00:41:31,610 u moj pogled. 750 00:41:31,610 --> 00:41:35,490 Dakle, ono što sam trebao učiniti bilo je li potrebno da se 751 00:41:35,490 --> 00:41:37,310 Mjesta iz baze. 752 00:41:37,310 --> 00:41:38,990 To je učinjeno u kontroleru. 753 00:41:38,990 --> 00:41:40,950 Tako sam otišao na kontroleru - 754 00:41:40,950 --> 00:41:42,350 gdje je kontroler. 755 00:41:42,350 --> 00:41:44,330 Kontrolor izgledao ovako. 756 00:41:44,330 --> 00:41:48,660 Imaš sve mjestima učenika, stavi sve to na veliko 757 00:41:48,660 --> 00:41:52,060 promjenjiva, veliki popis, koji ima sva mjesta. 758 00:41:52,060 --> 00:41:55,340 >> I u pogledu, jer je JavaScript API je nešto u 759 00:41:55,340 --> 00:41:55,800 vidjeli, zar ne? 760 00:41:55,800 --> 00:42:00,440 Zbog JavaScript pokreće unutar HTML broj, to će biti poslana 761 00:42:00,440 --> 00:42:01,710 korisnikovom računalu. 762 00:42:01,710 --> 00:42:09,310 I u pogledu, opterećen sam sve to Informacije u Google API-ja. 763 00:42:09,310 --> 00:42:12,080 I to je sve to za ja, što je stvarno cool. 764 00:42:12,080 --> 00:42:16,240 No, ako želite koristiti stvari u back-end, i to je poput knjižnica, za 765 00:42:16,240 --> 00:42:18,720 Primjerice, opet - 766 00:42:18,720 --> 00:42:20,140 integracija s Facebookom. 767 00:42:20,140 --> 00:42:24,060 To je nešto što je mnogo, mnogo, mnoge aplikacije koriste danas. 768 00:42:24,060 --> 00:42:27,300 >> Tako su svoju integraciju s Facebookom jer je tako puno lakše samo 769 00:42:27,300 --> 00:42:30,450 Prijavi se s Facebookom nego stvoriti računa i bla, bla, bla. 770 00:42:30,450 --> 00:42:35,120 Tada ćete samo koristiti dragulj i to je kao jednostavan kao ide na vaš dragulj datoteku. 771 00:42:35,120 --> 00:42:39,350 Gem datoteka je datoteka zove dragulj sliku u Izvor imenik svog Ruby na 772 00:42:39,350 --> 00:42:40,370 Šine projekt. 773 00:42:40,370 --> 00:42:43,700 Dovoljno je otići tamo i dodavati novi dragulj. 774 00:42:43,700 --> 00:42:45,300 A ti ga pogledati na Googleu. 775 00:42:45,300 --> 00:42:46,520 Postoji mnogo, mnogo, mnogo dragulja. 776 00:42:46,520 --> 00:42:51,070 Ima jedan koji je posebno radi ovo za Facebook integraciju. 777 00:42:51,070 --> 00:42:54,660 Nisam siguran što je naziv za to. 778 00:42:54,660 --> 00:42:56,680 Samo ga Google i ti si će ga pronaći. 779 00:42:56,680 --> 00:42:57,930 OK, više pitanja? 780 00:42:57,930 --> 00:43:01,110 781 00:43:01,110 --> 00:43:03,280 Strašan, hvala što ste došli. 782 00:43:03,280 --> 00:43:09,227