1 00:00:00,000 --> 00:00:08,560 2 00:00:08,560 --> 00:00:10,410 >> GABRIEL GUIMARAES: Aquest és CS50. 3 00:00:10,410 --> 00:00:14,740 Benvinguts al sorprenent Web Apps amb Ruby on Rails. 4 00:00:14,740 --> 00:00:19,700 Així que per a qualsevol que estigui interessat en la web llocs web de desenvolupament i el seu marcat, web 5 00:00:19,700 --> 00:00:26,510 aplicacions, Ruby on Rails és aquest eina increïble que Twitter, GitHub, 6 00:00:26,510 --> 00:00:31,470 Groupon, i tot tipus de molt agradable, i gran, les aplicacions web estan utilitzant en 7 00:00:31,470 --> 00:00:33,080 els últims anys. 8 00:00:33,080 --> 00:00:37,190 I és una molt, molt fresc funció, una eina genial, 9 00:00:37,190 --> 00:00:39,290 perquè és nou. 10 00:00:39,290 --> 00:00:43,830 Per tant, té tot el nou i potent tecnologies incorporades en un 11 00:00:43,830 --> 00:00:49,050 marc que l'ajuda a lluitar amb tot tipus de coses increïbles. 12 00:00:49,050 --> 00:00:50,970 >> Però, què és un marc? 13 00:00:50,970 --> 00:00:55,700 Així, un marc és bàsicament cosa que crea - 14 00:00:55,700 --> 00:00:59,680 en iniciar un lloc web, si vostè va començar des del principi, igual que s'obre 15 00:00:59,680 --> 00:01:04,530 gedit allà, i que desitja codificar tots del seu HTML, i el codi de la totalitat del seu 16 00:01:04,530 --> 00:01:08,130 PHP, tot el teu CSS, tot des de zero - 17 00:01:08,130 --> 00:01:09,690 això és només serà un munt de treball. 18 00:01:09,690 --> 00:01:13,940 I un marc, literalment, li dóna mitjà de la pàgina web ja està fet. 19 00:01:13,940 --> 00:01:18,070 Així que vostè comença amb la meitat d'un lloc web que té tot el que hi ha per a tu. 20 00:01:18,070 --> 00:01:22,690 Igual que les connexions de base de dades, i tots tipus de coses que vostè ha de preocupar 21 00:01:22,690 --> 00:01:25,040 sobre si ho estàs fent a partir de zero, vostè no ha de preocupar-se pels 22 00:01:25,040 --> 00:01:26,480 detalls de baix nivell. 23 00:01:26,480 --> 00:01:32,360 >> Però avui anem a exportar una de els llocs web que l'estudiant de primer any de la 24 00:01:32,360 --> 00:01:34,740 classe de 2017 és probablement familiar. 25 00:01:34,740 --> 00:01:40,170 Així que aquest lloc web és el lloc web que em ho va fer per a la nostra classe durant l'estiu. 26 00:01:40,170 --> 00:01:46,500 Era un lloc web on els estudiants de la classe de 2017 podria iniciar la sessió i 27 00:01:46,500 --> 00:01:47,480 interactuar entre ells. 28 00:01:47,480 --> 00:01:49,610 I llavors aquest és un mapa - 29 00:01:49,610 --> 00:01:51,210 tothom, on la gent està. 30 00:01:51,210 --> 00:01:56,970 I vam tenir un llibre joc, un joc de cançons on vam veure les cançons de la gent i 31 00:01:56,970 --> 00:01:57,970 els llibres de la gent. 32 00:01:57,970 --> 00:02:00,480 El que els agrada llegir, el que a ells els agrada escoltar. 33 00:02:00,480 --> 00:02:06,830 I la part més interessant de la mateixa és que, literalment, em vaig trigar tres hores a 34 00:02:06,830 --> 00:02:07,840 per codificar tota. 35 00:02:07,840 --> 00:02:13,050 Perquè si jo hagués de fer-ho tot, des zero, com l'obertura de gedit, es 36 00:02:13,050 --> 00:02:16,400 probablement hauria pres em 20, 30 hores. 37 00:02:16,400 --> 00:02:20,210 Però amb Ruby on Rails, perquè tot estava ja preparat per a mi, 38 00:02:20,210 --> 00:02:25,550 només em va prendre tres o quatre hores, o alguna cosa per l'estil. 39 00:02:25,550 --> 00:02:27,580 >> Llavors, què és Ruby on Rails. 40 00:02:27,580 --> 00:02:32,720 Ruby on Rails, un cop més, com ja Dit això, és un marc. 41 00:02:32,720 --> 00:02:34,800 Aquesta és una foto d'un marc. 42 00:02:34,800 --> 00:02:37,460 Així que anem a començar a construir una casa, ja té la meitat de la 43 00:02:37,460 --> 00:02:38,320 casa feta. 44 00:02:38,320 --> 00:02:38,970 Aquest és el marc. 45 00:02:38,970 --> 00:02:40,560 I Ruby on Rails és exactament així. 46 00:02:40,560 --> 00:02:44,440 I cal pensar que és, de començar un lloc web, vostè comença la seva web 47 00:02:44,440 --> 00:02:48,830 aplicació, ja tenim mitjà que es faci allà. 48 00:02:48,830 --> 00:02:50,400 Però en primer lloc, quin és Ruby? 49 00:02:50,400 --> 00:02:53,510 50 00:02:53,510 --> 00:02:58,310 Ruby on Rails utilitza la vista del model controlador, que és paradigma, la qual 51 00:02:58,310 --> 00:02:59,930 és un molt interessant - 52 00:02:59,930 --> 00:03:04,250 i totes les aplicacions d'avui en dia servir alguna cosa com això. 53 00:03:04,250 --> 00:03:08,630 Aquesta idea de separar les coses en tres parts, el model, la vista, i 54 00:03:08,630 --> 00:03:09,630 el controlador. 55 00:03:09,630 --> 00:03:11,950 Anem a parlar una mica més sobre això més endavant. 56 00:03:11,950 --> 00:03:13,400 >> En primer lloc, quin és Ruby? 57 00:03:13,400 --> 00:03:14,500 Així que aquesta és Ruby. 58 00:03:14,500 --> 00:03:17,850 I aquest és el símbol de la llenguatge anomenat Ruby. 59 00:03:17,850 --> 00:03:24,170 Ruby és un dels newish interpretats idiomes, de manera que l'escriptura. 60 00:03:24,170 --> 00:03:29,530 És un llenguatge que no està compilat com C. Es va recopilar en la carrera. 61 00:03:29,530 --> 00:03:33,220 Així que això és bo perquè, com PHP, per exemple, també s'interpreta, és 62 00:03:33,220 --> 00:03:33,960 no compilat. 63 00:03:33,960 --> 00:03:35,710 Això és bo perquè el seu portàtil. 64 00:03:35,710 --> 00:03:39,740 Així que simplement passi el seu codi de una màquina a una altra. 65 00:03:39,740 --> 00:03:44,440 Des d'una màquina Linux, un equip amb Windows màquina, a una màquina Mac o Apple, o 66 00:03:44,440 --> 00:03:45,240 alguna cosa així. 67 00:03:45,240 --> 00:03:49,160 I vostè no ha de preocupar-se per detalls respecte a cada un dels específica 68 00:03:49,160 --> 00:03:49,890 sistemes operatius. 69 00:03:49,890 --> 00:03:51,330 Es va a treballar a tot arreu. 70 00:03:51,330 --> 00:03:54,700 >> I Ruby és un llenguatge que - 71 00:03:54,700 --> 00:03:56,920 vostès recordaran aquestes. 72 00:03:56,920 --> 00:04:01,440 La gent fa servir la funció hash implementat en C per a la taula hash 73 00:04:01,440 --> 00:04:04,860 la setmana passada i tenia tota mena de violacions de segment. 74 00:04:04,860 --> 00:04:12,360 I després les coses preocupant sobre si aquesta cadena i allà, la cadena i 75 00:04:12,360 --> 00:04:20,380 aquí, va ser realment minúscules o majúscules, o aquest tipus de preocupant 76 00:04:20,380 --> 00:04:21,410 detalls de baix nivell. 77 00:04:21,410 --> 00:04:26,180 Bé en Ruby, si desitja implementar una taula hash, així és exactament com vostè 78 00:04:26,180 --> 00:04:27,100 crear una taula hash. 79 00:04:27,100 --> 00:04:30,280 Vostè diu, diccionari, aquest és el nom de la meva variable = "Hash.new". 80 00:04:30,280 --> 00:04:34,680 I després diccionari ["foo"], i quan estic afegint foo al meu taula hash, estic 81 00:04:34,680 --> 00:04:35,960 només dir hola, allà. 82 00:04:35,960 --> 00:04:38,070 >> I després si jo volia comprovar si foo hi era, jo només dic que si 83 00:04:38,070 --> 00:04:40,270 diccionari ["foo"] == true return true. 84 00:04:40,270 --> 00:04:41,560 Vaja, i això és la seva taula hash. 85 00:04:41,560 --> 00:04:44,280 Aquesta és l'aplicació de taula hash en Ruby. 86 00:04:44,280 --> 00:04:50,200 Així que tothom desitjava que poguessin tenir usat alguna cosa com Ruby per al final 87 00:04:50,200 --> 00:04:51,450 conjunt de processadors de la setmana, no? 88 00:04:51,450 --> 00:04:54,410 89 00:04:54,410 --> 00:04:59,050 Tenim tot tipus de raons per voler utilitzar un llenguatge com Ruby. 90 00:04:59,050 --> 00:05:01,380 Ruby té gemmes. 91 00:05:01,380 --> 00:05:04,000 Gem és un nom per a un tipus de la biblioteca de Ruby. 92 00:05:04,000 --> 00:05:07,490 >> Així que tot tipus de característiques interessants que es pot tenir, per exemple, si jo 93 00:05:07,490 --> 00:05:09,280 voler integrar la meva aplicació. 94 00:05:09,280 --> 00:05:12,470 Això 2,017 aplicació Harvard es va integrar a Facebook. 95 00:05:12,470 --> 00:05:15,810 Així, pots iniciar la sessió, mitjançant Facebook, a l'aplicació. 96 00:05:15,810 --> 00:05:19,760 Així que si vostè va a fer això, no ho fa haurà de preocupar per l'enviament d'alguns 97 00:05:19,760 --> 00:05:23,760 Sol · licitud HTTP a Facebook, i esperant per a la resposta, i obligant a la 98 00:05:23,760 --> 00:05:25,150 resposta, i bla, bla, bla. 99 00:05:25,150 --> 00:05:29,120 Només cal descarregar la joia que fa tot això per tu. 100 00:05:29,120 --> 00:05:30,750 I llavors vostè no necessita preocupar-se de tot això. 101 00:05:30,750 --> 00:05:33,670 >> I després un munt d'ajuda en línia, és clar. 102 00:05:33,670 --> 00:05:37,040 Hi ha molts, molts, molts llocs web que se't va a ajudar tant amb 103 00:05:37,040 --> 00:05:38,880 Ruby i Rails. 104 00:05:38,880 --> 00:05:40,530 I és un munt de diversió en el codi. 105 00:05:40,530 --> 00:05:46,770 Exactament perquè vostè pot deixar de preocupar sobre aquests problemes no tan divertides. 106 00:05:46,770 --> 00:05:50,690 Igual que si alguna cosa és minúscula o majúscules, i llavors per què és això 107 00:05:50,690 --> 00:05:54,500 que li dóna un error de segmentació i realment es pot bussejar al 108 00:05:54,500 --> 00:05:55,460 coses interessants. 109 00:05:55,460 --> 00:05:59,650 Per submergir-se en els problemes realment frescos. 110 00:05:59,650 --> 00:06:02,420 >> Així que Ruby és igual a C, en un sentit. 111 00:06:02,420 --> 00:06:05,950 Així que no serà que gran d'un salt en realitat. 112 00:06:05,950 --> 00:06:09,470 Així que posa, això és la nostra aplicació d'impressió en Ruby. 113 00:06:09,470 --> 00:06:12,790 Crec que es podria utilitzar d'impressió també, però posa és el que fa servir tothom. 114 00:06:12,790 --> 00:06:14,490 Pel que només posa "Hello World". 115 00:06:14,490 --> 00:06:21,400 Vostè pot, o no podia, tenir el parèntesi que envolta 116 00:06:21,400 --> 00:06:23,280 "Hello World" allà. 117 00:06:23,280 --> 00:06:25,350 Vostè només pot triar si o no d'usar que. 118 00:06:25,350 --> 00:06:26,780 I llavors x = "1". 119 00:06:26,780 --> 00:06:29,030 Un bucle while es veu molt gairebé de la mateixa. 120 00:06:29,030 --> 00:06:30,630 Només té menys de sintaxi. 121 00:06:30,630 --> 00:06:32,590 És una mica més net una mica. 122 00:06:32,590 --> 00:06:37,380 I després, si x> 25 puts "gran!" i un altre posa "Small ...". 123 00:06:37,380 --> 00:06:39,070 I és una espècie de C en aquest sentit. 124 00:06:39,070 --> 00:06:41,630 >> Així que si ens fixem en això, vostè pot enfocament probablement entengui 125 00:06:41,630 --> 00:06:42,890 tot el que està passant. 126 00:06:42,890 --> 00:06:47,750 Però és més poderós. 127 00:06:47,750 --> 00:06:54,520 Més potent, ja que, més que això, que pot fer les coses no són tan - 128 00:06:54,520 --> 00:06:55,750 algun tipus de hackage una mica. 129 00:06:55,750 --> 00:06:57,430 En C no es podia fer a acaba de fer amb una sola línia. 130 00:06:57,430 --> 00:06:58,680 Per exemple, posa: "Jo sóc # {x}". 131 00:06:58,680 --> 00:07:04,330 132 00:07:04,330 --> 00:07:11,100 Aquesta és la sintaxi només per posar el valor de x aquí, i no imprimiu el 133 00:07:11,100 --> 00:07:12,160 caràcter x. 134 00:07:12,160 --> 00:07:17,850 En C que havia de fer el percentatge d, i a continuació, posar la variable x després de la 135 00:07:17,850 --> 00:07:19,730 una coma aquí, o alguna cosa per l'estil. 136 00:07:19,730 --> 00:07:22,220 >> I en Ruby hi ha una drecera per fer només això. 137 00:07:22,220 --> 00:07:27,830 I posa això, si x> 3, pel que pot posar el cas en una sola línia. 138 00:07:27,830 --> 00:07:29,010 I a continuació, una llista. 139 00:07:29,010 --> 00:07:33,320 Llistes en C, com una matriu, han de no perdre de vista la mida de la seva matriu és o 140 00:07:33,320 --> 00:07:34,720 d'una altra manera s'obté una segmentació criticar. 141 00:07:34,720 --> 00:07:36,210 La seva matriu és només un tipus. 142 00:07:36,210 --> 00:07:38,790 Així que ja sigui una matriu de càrrega o una matriu d'enters. 143 00:07:38,790 --> 00:07:43,620 En aquest cas, he creat una llista aquí, això és una matriu, que té la primera 144 00:07:43,620 --> 00:07:48,450 element és una cadena, John, i després quatre, dos - aquests són nombres enters. 145 00:07:48,450 --> 00:07:53,590 I llavors jo afegeixo, llista, el Left Angle Bracket, Esquerra 146 00:07:53,590 --> 00:07:54,820 Suport en angle, tres. 147 00:07:54,820 --> 00:07:58,170 Això significa simplement annexar alguna cosa a la meva llista. 148 00:07:58,170 --> 00:08:01,630 >> Així que és una mica més interessant perquè si vostè volia utilitzar això com 149 00:08:01,630 --> 00:08:03,920 una simple llista dels nombres enters, vostè podria, totalment. 150 00:08:03,920 --> 00:08:05,530 Això és totalment bé. 151 00:08:05,530 --> 00:08:06,750 Només cal posar els nombres enters allà. 152 00:08:06,750 --> 00:08:10,240 Però si vols fer alguna cosa que és més convincent, que té una altra 153 00:08:10,240 --> 00:08:11,690 coses, que té - 154 00:08:11,690 --> 00:08:15,480 No sé, tot tipus de llistes en allà, o altres objectes que són més 155 00:08:15,480 --> 00:08:16,970 interessant, pot fer-ho totalment això. 156 00:08:16,970 --> 00:08:17,880 És totalment bé. 157 00:08:17,880 --> 00:08:21,210 I després si vols recórrer la llista, podeu utilitzar el 158 00:08:21,210 --> 00:08:24,850 més tipus C-ish d'enfocament. 159 00:08:24,850 --> 00:08:29,970 Això és per al llaç, li permet iniciar una variable, i = "1", o i = "0". 160 00:08:29,970 --> 00:08:32,980 I després vas i iterar, i obtenir tots els elements. 161 00:08:32,980 --> 00:08:37,559 >> Però també es pot utilitzar aquesta més enfocament Ruby-com. 162 00:08:37,559 --> 00:08:40,289 Això és com un list.each. 163 00:08:40,289 --> 00:08:45,230 Això és només dient: Fes-me tornar tots els elements de la llista. 164 00:08:45,230 --> 00:08:49,120 I fer-ho amb cada element, trucar elem. 165 00:08:49,120 --> 00:08:51,880 Així que això és només un nom que jo sóc donant a cada element. 166 00:08:51,880 --> 00:08:56,630 I ara això va a repetir per a tots els elements i elem, va 167 00:08:56,630 --> 00:09:00,790 ser la forma en què accedim que sol element. 168 00:09:00,790 --> 00:09:04,310 Pel que podria totalment enganxar-se a la Enfocament C, però això també funciona. 169 00:09:04,310 --> 00:09:07,970 I és exactament el mateix, a D'acord. 170 00:09:07,970 --> 00:09:13,830 >> I a part d'això, és realment, molt fàcil d'integrar Ruby i HTML 171 00:09:13,830 --> 00:09:17,010 ja que vostès estan interessats en aplicacions web. 172 00:09:17,010 --> 00:09:20,070 HTML és definitivament una cosa que vostè va a utilitzar una gran quantitat. 173 00:09:20,070 --> 00:09:25,820 I aquí si vols posar Rubí en HTML, acaba de començar aquí, <%. 174 00:09:25,820 --> 00:09:28,500 Això significa, aquí Rubí comença. 175 00:09:28,500 --> 00:09:32,130 I llavors%>, una mena de PHP en aquest sentit. 176 00:09:32,130 --> 00:09:35,520 Aquí Rubí acaba i llavors es pot només cal posar el cas aquí. 177 00:09:35,520 --> 00:09:39,400 I després tinc alguna variable user.logged_in. 178 00:09:39,400 --> 00:09:45,120 En Ruby, en general els que afegim, ja sigui signe d'interrogació o d'exclamació 179 00:09:45,120 --> 00:09:48,210 marca, com un personatge de banc, només per a tipus de 180 00:09:48,210 --> 00:09:49,480 distingir entre les nostres funcions. 181 00:09:49,480 --> 00:09:52,780 Però vostè acaba de posar que pel seu propi bé. 182 00:09:52,780 --> 00:09:56,910 No és una cosa que canvia res en la funcionalitat. 183 00:09:56,910 --> 00:10:01,160 >> Així que per recordar-me que aquest és un funció - i funciona en Ruby, 184 00:10:01,160 --> 00:10:06,650 en lloc de C, com ja vaig dir, que no necessiten els parèntesis. 185 00:10:06,650 --> 00:10:09,740 Perquè registra en cosa, això és una funció, que és un mètode. 186 00:10:09,740 --> 00:10:12,990 Però vostè no necessita explícitament a posar els parèntesis en aquest país. 187 00:10:12,990 --> 00:10:16,030 Així que simplement preguntant si l'usuari ha iniciat sessió en, i si l'usuari ha iniciat sessió en, ara 188 00:10:16,030 --> 00:10:17,100 HTML comença de nou. 189 00:10:17,100 --> 00:10:21,670 Així que benvinguda, i aquí Imprimeixo la user.name. 190 00:10:21,670 --> 00:10:22,920 I això és tot. 191 00:10:22,920 --> 00:10:24,970 192 00:10:24,970 --> 00:10:30,420 Així que això és bastant senzill, com integrar Rubí amb el codi HTML. 193 00:10:30,420 --> 00:10:34,560 I els recursos, com ja he dit, hi ha tot tipus de recursos per Ruby. 194 00:10:34,560 --> 00:10:39,560 Vostès tots poden mirar això fins després perquè tant el vídeo, i 195 00:10:39,560 --> 00:10:40,875 les diapositives, van a estarà disponible en línia. 196 00:10:40,875 --> 00:10:44,620 197 00:10:44,620 --> 00:10:47,180 >> I ara entrarem en Rails. 198 00:10:47,180 --> 00:10:48,330 Rails és l'amor. 199 00:10:48,330 --> 00:10:49,230 Rails - 200 00:10:49,230 --> 00:10:51,030 pel que Ruby és el seu llenguatge. 201 00:10:51,030 --> 00:10:54,340 Acceptar, com PHP, igual que Python. 202 00:10:54,340 --> 00:10:59,980 És un llenguatge d'alt nivell, no com C. De C un mitjà, llenguatge de baix nivell en 203 00:10:59,980 --> 00:11:05,240 el sentit que Ruby no has de preocupar de reassignació de memòria, i 204 00:11:05,240 --> 00:11:07,300 punters, i aquest tipus de coses. 205 00:11:07,300 --> 00:11:11,120 Però Rails és aquest programa que va ser escrit en Ruby. 206 00:11:11,120 --> 00:11:15,610 I utilitza Ruby, per tal de tenir aquesta marc, perquè vostè sigui capaç de 207 00:11:15,610 --> 00:11:18,990 crear aplicacions web impressionants. 208 00:11:18,990 --> 00:11:21,940 >> Així que cal instal · lar primer Ruby on la seva màquina, però la majoria de les màquines 209 00:11:21,940 --> 00:11:22,630 ia tenir això. 210 00:11:22,630 --> 00:11:24,800 I a continuació, instal lar rails a la part superior de la mateixa. 211 00:11:24,800 --> 00:11:26,540 Anem a parlar d'això més tard. 212 00:11:26,540 --> 00:11:28,100 I per què Rails? 213 00:11:28,100 --> 00:11:31,470 Així MVC, que és el model vista controlador parlem d'una petita 214 00:11:31,470 --> 00:11:36,050 poc, fa que tot sigui més simple perquè divideix les coses que són 215 00:11:36,050 --> 00:11:42,420 conceptualment diferent en diferents parts de l'aplicació. 216 00:11:42,420 --> 00:11:45,930 Menys temps dedicat als problemes de baix nivell, de nou, i molt, molt 217 00:11:45,930 --> 00:11:46,820 popular en aquest moment. 218 00:11:46,820 --> 00:11:52,130 Així que per a tots aquells que estiguin interessats en l'escena de la posada en marxa, o en alguna cosa 219 00:11:52,130 --> 00:11:58,435 com l'inici de negocis, i la gent en el mercat de la tecnologia que són 220 00:11:58,435 --> 00:12:02,440 començar el seu propi negoci en aquest moment són molt, molt fans de Ruby on 221 00:12:02,440 --> 00:12:04,120 Rails perquè és molt ràpid. 222 00:12:04,120 --> 00:12:07,510 >> Així que vostè pot aconseguir alguna cosa en funcionament en menys d'un dia, i això és 223 00:12:07,510 --> 00:12:10,410 realment un molt convincent argument per utilitzar Ruby. 224 00:12:10,410 --> 00:12:13,460 I Rails 4.0 - 225 00:12:13,460 --> 00:12:15,920 és molt fresc del forn ara. 226 00:12:15,920 --> 00:12:16,930 Així Rails 4.0 - 227 00:12:16,930 --> 00:12:20,180 Crec que la primera versió va ser al març d'aquest any. 228 00:12:20,180 --> 00:12:23,460 I és molt bonic, té tot tipus de noves característiques interessants,. 229 00:12:23,460 --> 00:12:30,290 Així que Ruby on Rails és un marc que és sent constantment actualitzat per tenir tota 230 00:12:30,290 --> 00:12:31,540 de la nova tecnologia. 231 00:12:31,540 --> 00:12:33,710 232 00:12:33,710 --> 00:12:39,800 >> La primera vegada que vaig intentar utilitzar Ruby on Rails, jo tenia aquest problema perquè 233 00:12:39,800 --> 00:12:44,540 creat la meva primera aplicació web, i era exactament així. 234 00:12:44,540 --> 00:12:49,020 Així que crea tots els arxius per als vostè, i jo no tenia idea del que - 235 00:12:49,020 --> 00:12:50,780 Què és això? 236 00:12:50,780 --> 00:12:54,850 Va crear tots aquests arxius, i només volia crear un programa simple, una 237 00:12:54,850 --> 00:12:57,140 simple pàgina web HTML. 238 00:12:57,140 --> 00:12:59,680 I jo ni tan sols podia fer res. 239 00:12:59,680 --> 00:13:02,430 Així que estava una mica aclaparat. 240 00:13:02,430 --> 00:13:08,350 Però aquesta és una de les coses que una vegada que entén, tot es torna tan 241 00:13:08,350 --> 00:13:09,190 molt més clara. 242 00:13:09,190 --> 00:13:15,750 Així que no es aclaparat per la primera de vista el que es crea en un primer moment. 243 00:13:15,750 --> 00:13:18,430 >> Així que el que passa és Rails crea tots aquests arxius. 244 00:13:18,430 --> 00:13:20,470 Així que un d'això és doc, documentació. 245 00:13:20,470 --> 00:13:23,080 Db, que està relacionat amb la base de dades. 246 00:13:23,080 --> 00:13:25,060 Lib, que està log biblioteques. 247 00:13:25,060 --> 00:13:28,200 Pública, l'escriptura, i algunes coses. 248 00:13:28,200 --> 00:13:32,110 Gairebé tot el que vas a preocupar és de la carpeta d'aplicacions, allà dalt. 249 00:13:32,110 --> 00:13:34,430 Aquesta és la carpeta que conté seva aplicació. 250 00:13:34,430 --> 00:13:35,540 Tots els altres arxius - 251 00:13:35,540 --> 00:13:37,770 alguns d'ells són importants, i ja està va a aprendre sobre això més endavant. 252 00:13:37,770 --> 00:13:42,040 Però són aquí només per contenir el marc. 253 00:13:42,040 --> 00:13:46,420 Així que els primers pilars de la casa que vostès estan construint, d'acord? 254 00:13:46,420 --> 00:13:47,730 >> Però la carpeta app - 255 00:13:47,730 --> 00:13:49,630 aquesta és la que realment és important. 256 00:13:49,630 --> 00:13:53,050 I la carpeta d'aplicació té actius. 257 00:13:53,050 --> 00:13:57,690 Actius és gairebé tot això ve. 258 00:13:57,690 --> 00:14:01,890 Imatges per exemple, tot el que és estàtica que va a descarregar 259 00:14:01,890 --> 00:14:03,450 al seu lloc web. 260 00:14:03,450 --> 00:14:06,850 Així que les imatges, JavaScript, CSS - 261 00:14:06,850 --> 00:14:08,520 aquest tipus de coses són actius. 262 00:14:08,520 --> 00:14:11,310 263 00:14:11,310 --> 00:14:12,260 Controladors - 264 00:14:12,260 --> 00:14:15,190 parlarem més sobre Quins són els controladors, models, 265 00:14:15,190 --> 00:14:16,800 i camps d'un segon. 266 00:14:16,800 --> 00:14:20,760 I helpers són funcions que poden utilitzar tot el seu codi 267 00:14:20,760 --> 00:14:22,800 per ajudar a fer alguna cosa. 268 00:14:22,800 --> 00:14:25,800 Funcions com connectat, per exemple - user.loggedin. 269 00:14:25,800 --> 00:14:29,500 Aquesta és una funció que probablement vostè ha d'utilitzar en totes les parts de la seva 270 00:14:29,500 --> 00:14:30,030 aplicació. 271 00:14:30,030 --> 00:14:33,590 Així que vostè pot posar alguna cosa com que en el seu ajudant. 272 00:14:33,590 --> 00:14:34,370 >> Sobres - 273 00:14:34,370 --> 00:14:41,480 això és si vostè va a enviar un correu electrònic als seus usuaris, 274 00:14:41,480 --> 00:14:43,420 que vulgui utilitzar un programa de correu. 275 00:14:43,420 --> 00:14:46,420 I els models i punts de vista, anem per parlar d'això ara. 276 00:14:46,420 --> 00:14:52,450 Així que el model vista controlador, que és la pedra angular bàsica de Ruby on 277 00:14:52,450 --> 00:14:55,730 Rails, i la majoria dels marcs avui en dia, per ser honest. 278 00:14:55,730 --> 00:15:01,180 Així que de nou, separem tot el nostre codi en tres parts diferents. 279 00:15:01,180 --> 00:15:02,590 El model - 280 00:15:02,590 --> 00:15:04,620 el model és bàsicament la base de dades. 281 00:15:04,620 --> 00:15:06,090 Maneja les coses a la base de dades. 282 00:15:06,090 --> 00:15:10,790 >> Així que cada taula a la base de dades té un arxiu corresponent dins del model. 283 00:15:10,790 --> 00:15:13,330 Així que és una espècie de taula per als seus usuaris. 284 00:15:13,330 --> 00:15:18,250 Així que vostè està emmagatzemant informació com el nom d'usuari, el seu correu electrònic, el seu 285 00:15:18,250 --> 00:15:20,970 direcció, la contrasenya, i coses per l'estil. 286 00:15:20,970 --> 00:15:24,535 Vas a tenir un arxiu en el model anomenat rb usuari - 287 00:15:24,535 --> 00:15:26,240 rb per Ruby. 288 00:15:26,240 --> 00:15:30,180 I no tindràs tota dels mètodes i les variables. 289 00:15:30,180 --> 00:15:34,130 Les variables van a correspondre al nom de l'usuari, el correu electrònic, i 290 00:15:34,130 --> 00:15:35,370 tot. 291 00:15:35,370 --> 00:15:37,760 >> I vas a tenir els mètodes. 292 00:15:37,760 --> 00:15:42,690 Això serà quelcom relatiu - 293 00:15:42,690 --> 00:15:46,400 vostè va a utilitzar aquesta informació a la base de dades. 294 00:15:46,400 --> 00:15:50,220 Per crear un model amb Rails, només ha d'utilitzar Rails generen. 295 00:15:50,220 --> 00:15:54,990 I per crear coses en Rails, que realment necessita el terminal. 296 00:15:54,990 --> 00:15:58,770 Així que és una molt Terminal marc basat. 297 00:15:58,770 --> 00:16:02,530 Vostè només ha d'entrar a la terminal, i què Rails, generen model. 298 00:16:02,530 --> 00:16:04,670 I el nom del model és de l'usuari. 299 00:16:04,670 --> 00:16:10,270 I jo només vull tenir dues variables, dues columnes, a la meva taula. 300 00:16:10,270 --> 00:16:11,450 Així que això és de correu electrònic. 301 00:16:11,450 --> 00:16:13,080 El correu electrònic és una cadena tipus. 302 00:16:13,080 --> 00:16:15,450 Password, contrasenya és També una cadena tipus. 303 00:16:15,450 --> 00:16:16,520 Aquestes són les úniques dues coses. 304 00:16:16,520 --> 00:16:19,160 És una espècie d'una taula d'usuari simplista. 305 00:16:19,160 --> 00:16:22,490 Però podries posar totalment d'un centenar de cosa està allà si volies. 306 00:16:22,490 --> 00:16:27,620 >> I Rails també fa que sigui molt, molt simple tenir tot 307 00:16:27,620 --> 00:16:30,040 tipus de relacions de bases de dades. 308 00:16:30,040 --> 00:16:36,100 Així que en general, quan es té taules en el seu base de dades, no són molt 309 00:16:36,100 --> 00:16:37,570 independents entre si. 310 00:16:37,570 --> 00:16:39,392 Anem a pensar. 311 00:16:39,392 --> 00:16:42,960 Vostè vol comprar i vendre productes en línia. 312 00:16:42,960 --> 00:16:46,620 OK, així que vostè té un lloc web on es volen comprar i vendre productes. 313 00:16:46,620 --> 00:16:55,060 Així que cada usuari té molts productes que aquest usuari està disposat a vendre. 314 00:16:55,060 --> 00:17:00,970 I cada usuari també té moltes transaccions que estan en curs, o 315 00:17:00,970 --> 00:17:01,920 alguna cosa així. 316 00:17:01,920 --> 00:17:05,430 I les transaccions són amb un altre usuari. 317 00:17:05,430 --> 00:17:08,310 Cada transacció pertany a dos usuaris diferents. 318 00:17:08,310 --> 00:17:10,560 L'usuari que està comprant i l'usuari que s'està venent. 319 00:17:10,560 --> 00:17:13,920 >> Així que aquests són els anomenats les relacions de bases de dades. 320 00:17:13,920 --> 00:17:17,890 I aquí tenim exactament aquestes paraules clau, té moltes i pertany. 321 00:17:17,890 --> 00:17:19,500 Aquests són els més importants. 322 00:17:19,500 --> 00:17:22,410 I només direm, per exemple, aquest és l'exemple d'un 323 00:17:22,410 --> 00:17:25,740 model en el 2017 el lloc web de Harvard. 324 00:17:25,740 --> 00:17:28,820 Un cop més, els estudiants d'aquí - 325 00:17:28,820 --> 00:17:32,870 cada estudiant al lloc web, l'estudiant és un model, és una taula de base de dades. 326 00:17:32,870 --> 00:17:37,560 Cada estudiant tenia molts llibres perquè podria dir, quins són els seus favorits 327 00:17:37,560 --> 00:17:38,630 llibres, és clar. 328 00:17:38,630 --> 00:17:44,450 Així que cada llibre pertany a un estudiant d'aquí baix. 329 00:17:44,450 --> 00:17:46,910 I atribuir accessible - 330 00:17:46,910 --> 00:17:49,580 això és només dir, aquells són les variables. 331 00:17:49,580 --> 00:17:53,050 Aquestes són les variables accessibles d'aquest model. 332 00:17:53,050 --> 00:17:58,570 I les variables són l'autor de el llibre, la descripció, el gènere, i 333 00:17:58,570 --> 00:17:59,870 títol del llibre. 334 00:17:59,870 --> 00:18:02,700 Així que la informació en relació amb el llibre. 335 00:18:02,700 --> 00:18:06,410 >> I aquí tinc un mètode que simplement ordena tot. 336 00:18:06,410 --> 00:18:10,710 Així defineixen i acaben aquí, això és només dient, aquí ve el meu mètode. 337 00:18:10,710 --> 00:18:13,220 Self.sorted_all. 338 00:18:13,220 --> 00:18:16,390 Això és just, dóna'm tot ho ordena, i així és com s'implementa 339 00:18:16,390 --> 00:18:22,360 l'algorisme d'ordenació, que és bastant fàcil. 340 00:18:22,360 --> 00:18:27,430 Però, bàsicament, així és com un model s'assembla, a D'acord. 341 00:18:27,430 --> 00:18:32,990 Algú té preguntes pel que fa a aquesta cosa base de dades? 342 00:18:32,990 --> 00:18:33,736 Relacions? 343 00:18:33,736 --> 00:18:36,430 Queda clar? 344 00:18:36,430 --> 00:18:37,125 Sí 345 00:18:37,125 --> 00:18:38,490 >> AUDIÈNCIA: Pot vostè fer l'algoritme d'ordenació? 346 00:18:38,490 --> 00:18:41,960 >> GABRIEL GUIMARAES: El algoritme d'ordenació, a D'acord. 347 00:18:41,960 --> 00:18:45,340 Quan t'acostumes a la sintaxi de Ruby, que serà clara. 348 00:18:45,340 --> 00:18:48,800 Però, bàsicament, és elems Book.all. 349 00:18:48,800 --> 00:18:50,820 Així que el llibre és el nom del meu model. 350 00:18:50,820 --> 00:18:55,670 Quan es crea un model, es tracta amb tot tipus de bons mètodes per a vostè. 351 00:18:55,670 --> 00:18:58,810 Així dot.all és un mètode que retorna tots els llibres. 352 00:18:58,810 --> 00:19:02,560 Però trobar, per exemple, podria buscar un llibre i tornar aquest llibre, o 353 00:19:02,560 --> 00:19:03,840 alguna cosa així. 354 00:19:03,840 --> 00:19:05,990 I així elems és tot. 355 00:19:05,990 --> 00:19:08,870 I només dic elems.sort. 356 00:19:08,870 --> 00:19:11,300 Sort és una funció integrada en Ruby. 357 00:19:11,300 --> 00:19:13,526 >> I, fer ab. 358 00:19:13,526 --> 00:19:15,940 Així que això no és nou - 359 00:19:15,940 --> 00:19:17,400 vostè va a ordenar. 360 00:19:17,400 --> 00:19:19,850 Però vostè va a aconseguir aquest argument per a mi. 361 00:19:19,850 --> 00:19:25,160 I utilitza l'argument - aquesta és una de les coses més difícils en Ruby en realitat, 362 00:19:25,160 --> 00:19:26,920 Feu això cosa. 363 00:19:26,920 --> 00:19:31,470 Però una vegada que ho entens tot ve molt, molt intuïtiu. 364 00:19:31,470 --> 00:19:37,140 Així que l'ab, és a dir el lloc titulars que utilitzaré - com 365 00:19:37,140 --> 00:19:41,760 les variables que utilitzaré, són serà cridat a i b. 366 00:19:41,760 --> 00:19:43,380 I aquests són els llibres. 367 00:19:43,380 --> 00:19:47,120 >> Així doncs espècie necessita comparar elements, recordeu que? 368 00:19:47,120 --> 00:19:49,760 Així que quan s'ordena coses, comparar dos elements. 369 00:19:49,760 --> 00:19:51,900 Vaig a dir que cada vegada vas a comparar - 370 00:19:51,900 --> 00:19:54,350 així que això és, que estic passant per ordenar una discussió. 371 00:19:54,350 --> 00:19:59,370 I l'argument és tot de tasques per i aquí, d'acord? 372 00:19:59,370 --> 00:20:02,980 I aquest argument, s'acaba dient ordenar com comparar. 373 00:20:02,980 --> 00:20:07,460 Ordenar funcionaria aquí, però és compararia amb el seu 374 00:20:07,460 --> 00:20:09,530 defecte comparant algorisme. 375 00:20:09,530 --> 00:20:13,810 Vull que es compara d'una manera molt específica manera, és a dir, quan el llibre 376 00:20:13,810 --> 00:20:16,900 va ser creat, quan cada va ser creada llibre. 377 00:20:16,900 --> 00:20:21,090 >> Així que dic, digui el nom de la primera llibre és A i el nom de la 378 00:20:21,090 --> 00:20:27,620 segon llibre com b, vull sort per ordenar alguna cosa basat en b.created_at aquest 379 00:20:27,620 --> 00:20:30,000 símbol estrany, a.created_at. 380 00:20:30,000 --> 00:20:34,350 I aquest símbol estrany és l'abreviatura perquè si un és més gran que el 381 00:20:34,350 --> 00:20:35,380 altra, retorna 1. 382 00:20:35,380 --> 00:20:37,450 Si un és igual a la altra, tornar zero. 383 00:20:37,450 --> 00:20:41,180 Si un és més petit que el un altre, el retorn almenys 1. 384 00:20:41,180 --> 00:20:43,435 Així que això és el que aquest símbol és estrany. 385 00:20:43,435 --> 00:20:46,680 386 00:20:46,680 --> 00:20:47,500 >> Però això no és important. 387 00:20:47,500 --> 00:20:52,780 Vull dir, el que jo vull que vostès ARRIBAR ara és la idea que la base de dades - 388 00:20:52,780 --> 00:20:54,150 vostè pot tenir el model allà. 389 00:20:54,150 --> 00:20:59,850 Així que vostè no s'ha de preocupar de connectar i utilitzar la instrucció SQL, 390 00:20:59,850 --> 00:21:00,500 i coses per l'estil. 391 00:21:00,500 --> 00:21:04,920 També pot crear portes a Injecció SQL i tots 392 00:21:04,920 --> 00:21:06,460 tipus de problemes de seguretat. 393 00:21:06,460 --> 00:21:07,930 En aquest cas, no ho fa preocupar-se per això. 394 00:21:07,930 --> 00:21:11,880 Vostè només ha d'utilitzar mètodes com book.all. 395 00:21:11,880 --> 00:21:15,210 I això, en el fons, és clar, va a la seva base de dades, i és 396 00:21:15,210 --> 00:21:17,570 utilitzarà una sentència SQL per obtenir tots els llibres. 397 00:21:17,570 --> 00:21:19,650 Però vostè no ha de preocupar-se per això. 398 00:21:19,650 --> 00:21:24,090 Aquesta és el menjar per emportar, OK? 399 00:21:24,090 --> 00:21:26,790 >> I quan vostè té una declaració belongs_to així, això significa que 400 00:21:26,790 --> 00:21:31,780 una vegada que tingui un objecte llibre, pot veure el que és el seu alumne. 401 00:21:31,780 --> 00:21:34,130 Així que l'estudiant té aquest llibre? 402 00:21:34,130 --> 00:21:38,760 Així que només podem usar book.student i que et dóna el que l'estudiant és. 403 00:21:38,760 --> 00:21:42,440 I això és una molt característica a tenir. 404 00:21:42,440 --> 00:21:43,950 >> Bé, ara la vista. 405 00:21:43,950 --> 00:21:48,380 Així que el model és el que interactua amb la base de dades, no? 406 00:21:48,380 --> 00:21:52,240 La vista és bàsicament HTML, i CSS i una mica de JavaScript. 407 00:21:52,240 --> 00:21:55,080 I això és el que l'usuari realment veu. 408 00:21:55,080 --> 00:21:56,540 L'usuari no va a veure a la base de dades. 409 00:21:56,540 --> 00:22:00,290 Ell va a veure algunes dades de la base de dades incrustada en l'espectador. 410 00:22:00,290 --> 00:22:04,940 411 00:22:04,940 --> 00:22:08,410 Ruby on Rails ho fa realment senzill de fer camps. 412 00:22:08,410 --> 00:22:12,780 En primer lloc, perquè ja ho cregui per a vostè, fora de la caixa, un disseny. 413 00:22:12,780 --> 00:22:16,200 >> Un disseny és bàsicament una cosa que - 414 00:22:16,200 --> 00:22:24,230 si totes les seves pàgines tenen un logotip a la part superior i, no sé, una mica de menú o 415 00:22:24,230 --> 00:22:29,000 cosa així, que totes les seves pàgines tenen en comú, llavors no ho fa 416 00:22:29,000 --> 00:22:34,830 necessitarà crear molts, molts, molts HTML arxius on estan tots els arxius han de 417 00:22:34,830 --> 00:22:36,830 mateix codi HTML. 418 00:22:36,830 --> 00:22:40,700 Vull dir que és ximple perquè no ets més que la repetició de codi entre diferents arxius. 419 00:22:40,700 --> 00:22:42,480 Això definitivament no és un bon enfocament. 420 00:22:42,480 --> 00:22:45,660 >> Així Ruby on Rails crea aquest disseny per a vostè. 421 00:22:45,660 --> 00:22:49,770 I això és només dir, totes les meves pàgines tindran aquest codi HTML, aquest cap 422 00:22:49,770 --> 00:22:54,805 títol aquí, i els que són full d'estil etiqueta link. 423 00:22:54,805 --> 00:22:56,800 Connecteu aquí tota la meva CSS. 424 00:22:56,800 --> 00:23:01,194 Connecteu aquí tota la meva JavaScript i algunes etiquetes meta. 425 00:23:01,194 --> 00:23:04,440 Això és una cosa que fer de forma automàtica per a vostè. 426 00:23:04,440 --> 00:23:07,490 I després, acabar amb el cap, ara aquí comença el cos. 427 00:23:07,490 --> 00:23:09,780 I ara, aquest és el meu veritable contingut. 428 00:23:09,780 --> 00:23:16,620 Així que si jo volia posar alguna cosa com un menú aquí, jo ho posaria dret sobre 429 00:23:16,620 --> 00:23:19,600 aquest lloc, o alguna cosa així, de manera que totes les meves pàgines compartides ella. 430 00:23:19,600 --> 00:23:21,730 Així que el disseny és compartida per totes les pàgines. 431 00:23:21,730 --> 00:23:26,500 >> Ara que el rendiment aquí només diu, no importa el que està en les pàgines d'aquest, simplement 432 00:23:26,500 --> 00:23:30,560 endoll el contingut d'aquest pàgina d'aquí, d'acord? 433 00:23:30,560 --> 00:23:33,770 I ara això és, per exemple, la contingut d'una pàgina que serà 434 00:23:33,770 --> 00:23:38,950 connectat a aquesta declaració de rendiment automàticament per Rails. 435 00:23:38,950 --> 00:23:40,700 Però això és un disseny compartit per totes les pàgines. 436 00:23:40,700 --> 00:23:42,500 I aquest és un exemple d'una pàgina. 437 00:23:42,500 --> 00:23:46,410 I això és exactament la pàgina que enumera tots els llibres. 438 00:23:46,410 --> 00:23:49,390 Així que aquesta és una taula HTML bàsic fins superior. 439 00:23:49,390 --> 00:23:53,730 Així que la llista de llibres, un títol, autor, descripció, gènere. 440 00:23:53,730 --> 00:24:00,810 >> I aquí s'utilitza, un cop més, alguns Sintaxi Ruby, @ books.each-- 441 00:24:00,810 --> 00:24:07,720 @ Tipus de diu que la variable és global en un sentit. 442 00:24:07,720 --> 00:24:10,940 Atès que aquesta variable era en realitat declarat en el controlador que 443 00:24:10,940 --> 00:24:12,840 vas a veure ara mateix. 444 00:24:12,840 --> 00:24:18,570 Però acaba de prendre per fet que aquesta @ Llibres és una variable que és una llista de 445 00:24:18,570 --> 00:24:20,000 tots els llibres. 446 00:24:20,000 --> 00:24:24,580 Així books.each, no, i de nou, això és Només dic, com vol anomenar 447 00:24:24,580 --> 00:24:29,580 cadascun dels iteradors perquè nosaltres no fem ha de preocupar-se per un quatre, int i 448 00:24:29,580 --> 00:24:30,630 bla, bla, bla. 449 00:24:30,630 --> 00:24:33,760 Acabem de prendre cadascun dels elements i utilitzar-los. 450 00:24:33,760 --> 00:24:38,890 >> Així que aquest és el llibre, i després només d'impressió aquí. book.title, book.author, 451 00:24:38,890 --> 00:24:41,020 book.description, i bla, bla, bla. 452 00:24:41,020 --> 00:24:42,940 I aquí hi ha una link_to. 453 00:24:42,940 --> 00:24:46,840 Així link_to és només una etiqueta d'enllaç que un usuari pot fer clic ai 454 00:24:46,840 --> 00:24:49,040 va a un altre lloc web. 455 00:24:49,040 --> 00:24:51,160 Link_to, mostrar aquest llibre en particular. 456 00:24:51,160 --> 00:24:56,480 Així que si l'usuari està molt interessat en aquest llibre, a continuació, pot fer clic al xou. 457 00:24:56,480 --> 00:24:59,350 O feu clic a Edita, si vol per editar el llibre. 458 00:24:59,350 --> 00:25:03,560 O destruir, si vol esborrar el llibre de la base de dades. 459 00:25:03,560 --> 00:25:06,260 Bé, això té sentit? 460 00:25:06,260 --> 00:25:08,610 Bé. 461 00:25:08,610 --> 00:25:10,600 >> Finalment, el controlador. 462 00:25:10,600 --> 00:25:17,150 Així que, bàsicament, el controlador és la interfície entre el 463 00:25:17,150 --> 00:25:20,040 model i la vista. 464 00:25:20,040 --> 00:25:25,120 Així que el model és la part del seu codi que té la base de dades - 465 00:25:25,120 --> 00:25:27,620 cada taula de la base de dades té un arxiu corresponent al 466 00:25:27,620 --> 00:25:30,120 model, i així successivament. 467 00:25:30,120 --> 00:25:34,890 I com fer el model i l'opinió d'interactuar? 468 00:25:34,890 --> 00:25:36,990 Així, a través del controlador. 469 00:25:36,990 --> 00:25:43,620 El que un controlador que fa és que la model per a alguna cosa com, per exemple, 470 00:25:43,620 --> 00:25:46,510 posar tot el llibre en l'interior d'una variable. 471 00:25:46,510 --> 00:25:47,760 Igual que aquest, @ llibres. 472 00:25:47,760 --> 00:25:50,200 473 00:25:50,200 --> 00:25:54,800 >> I ha de ser global amb aquest pel que pel fet que serà 474 00:25:54,800 --> 00:25:56,180 visitada per la vista. 475 00:25:56,180 --> 00:26:00,000 No serà utilitzat dins el propi controlador. 476 00:26:00,000 --> 00:26:03,160 I només retarda la informació que la vista es va a utilitzar. 477 00:26:03,160 --> 00:26:08,030 Per exemple, el controlador comprova si l'usuari està en línia. 478 00:26:08,030 --> 00:26:09,620 I com es fa això? 479 00:26:09,620 --> 00:26:11,760 Es demana realment el model perquè el model té la 480 00:26:11,760 --> 00:26:12,890 informació sobre l'usuari. 481 00:26:12,890 --> 00:26:15,840 Té una taula d'usuaris, els llibres taula, altres taules. 482 00:26:15,840 --> 00:26:18,560 Així que el controlador li pregunta si l'usuari està en línia. 483 00:26:18,560 --> 00:26:23,760 Si l'usuari està en línia, el controlador maneja les coses com posar una galeta, 484 00:26:23,760 --> 00:26:28,120 o alguna cosa així, per posar el segell vol dir que l'usuari està en línia. 485 00:26:28,120 --> 00:26:29,930 No hi ha necessitat de tornar a iniciar sessió. 486 00:26:29,930 --> 00:26:34,080 >> I es va a carregar una variable anomenada usuari, per exemple, que el 487 00:26:34,080 --> 00:26:35,130 la visió pot utilitzar. 488 00:26:35,130 --> 00:26:42,375 I la vista pot posar alguna cosa aquí, per exemple, donar la benvinguda user.name. 489 00:26:42,375 --> 00:26:46,040 Pel que dirà, benvingut John, benvingut James - 490 00:26:46,040 --> 00:26:47,390 cosa així, oi? 491 00:26:47,390 --> 00:26:50,380 Així que totes aquestes variables utilitzades en el vista seran carregat a la 492 00:26:50,380 --> 00:26:54,190 controlador i seran aixecat a partir del model. 493 00:26:54,190 --> 00:26:58,310 494 00:26:58,310 --> 00:27:00,555 >> Aquest és l'exemple d'un controlador. 495 00:27:00,555 --> 00:27:03,140 496 00:27:03,140 --> 00:27:08,640 Així que tenim, bàsicament, cada un - 497 00:27:08,640 --> 00:27:10,010 anomenem a aquestes accions les coses. 498 00:27:10,010 --> 00:27:11,570 Així índex és una acció. 499 00:27:11,570 --> 00:27:13,820 És una funció Ruby. 500 00:27:13,820 --> 00:27:16,160 És un mètode de Ruby en aquest país. 501 00:27:16,160 --> 00:27:19,350 No obstant això, per a les trucades del controlador aquestes accions les coses. 502 00:27:19,350 --> 00:27:24,830 I cada acció està relacionada amb una ruta. 503 00:27:24,830 --> 00:27:29,350 Així que aquí aquesta ruta, per exemple, és una Veure Declaració / books. 504 00:27:29,350 --> 00:27:37,500 Així que si vas a harvard2017.com/books, el que va a succeir és que aquest codi és 505 00:27:37,500 --> 00:27:40,630 serà anomenat. 506 00:27:40,630 --> 00:27:44,290 >> I hi ha un arxiu - 507 00:27:44,290 --> 00:27:46,010 m'ho dius a mi obro aquest molt ràpid. 508 00:27:46,010 --> 00:27:51,310 509 00:27:51,310 --> 00:27:55,386 Hi ha un arxiu anomenat arxiu RAW. 510 00:27:55,386 --> 00:27:57,920 No és l'obertura. 511 00:27:57,920 --> 00:28:02,330 Així que hi ha un arxiu anomenat arxiu RAW que coincideix bàsicament - 512 00:28:02,330 --> 00:28:03,580 oh, ara s'està obrint. 513 00:28:03,580 --> 00:28:15,900 514 00:28:15,900 --> 00:28:17,550 Aquí, rutes. 515 00:28:17,550 --> 00:28:24,440 Així que bàsicament coincideix amb un cep, activació / new per exemple, per 516 00:28:24,440 --> 00:28:27,810 alguna cosa al controlador. 517 00:28:27,810 --> 00:28:31,580 Així que aquest controlador de trucada controlador d'activació, però aquí, 518 00:28:31,580 --> 00:28:32,790 comptem amb els llibres, per exemple. 519 00:28:32,790 --> 00:28:33,740 Així que els partits - 520 00:28:33,740 --> 00:28:39,040 llibres / nova, el controlador els llibres, l'acció de nou. 521 00:28:39,040 --> 00:28:41,290 Així que, bàsicament, molt senzill coses. 522 00:28:41,290 --> 00:28:43,970 523 00:28:43,970 --> 00:28:48,770 >> I aquí, si ha d'arribar / llibres, retallar l'ID dels llibres, barra nova, 524 00:28:48,770 --> 00:28:53,250 vostè va a anar a aquest Mètode de Ruby allà baix. 525 00:28:53,250 --> 00:28:58,210 Així que aquí, el que aquest índex està fent s'acaba de carregar log llibre. 526 00:28:58,210 --> 00:28:59,570 Això és una cosa que - 527 00:28:59,570 --> 00:29:02,160 Em connecto tots els llibres en un registre. 528 00:29:02,160 --> 00:29:03,050 I ordenar tot. 529 00:29:03,050 --> 00:29:05,870 Així que això va a tornar tots els llibres ordenats. 530 00:29:05,870 --> 00:29:07,940 Això és, de nou, a la base de dades. 531 00:29:07,940 --> 00:29:09,570 Així que aquest és un mètode del model. 532 00:29:09,570 --> 00:29:12,440 Vostè va veure que aquest mètode és creat en el model. 533 00:29:12,440 --> 00:29:16,170 Ara bé, això s'acaba carregant tots els llibres i posar que en una variable que 534 00:29:16,170 --> 00:29:17,490 es pot veure per la vista. 535 00:29:17,490 --> 00:29:20,680 >> Perquè no es pot, enmig de el codi HTML, no es pot anomenar 536 00:29:20,680 --> 00:29:23,940 alguna cosa directament a partir del model, perquè per dues raons. 537 00:29:23,940 --> 00:29:28,260 En primer lloc, per raons de seguretat, ja en realitat no és interessant estar 538 00:29:28,260 --> 00:29:32,920 carregar la informació directament a l'interior cada HTML que està a la base de dades. 539 00:29:32,920 --> 00:29:36,030 I en segon lloc, per mantenir la seva codi molt organitzat. 540 00:29:36,030 --> 00:29:38,800 Així separar exactament el diferents parts. 541 00:29:38,800 --> 00:29:42,830 Així BookLog.sorted_all, aquesta en el base de dades i això es posarà en 542 00:29:42,830 --> 00:29:44,290 una variable @ llibres. 543 00:29:44,290 --> 00:29:47,695 I ara aquesta variable accessible dins del seu codi HTML. 544 00:29:47,695 --> 00:29:54,610 Pel que només pot posar tots els llibres no tal com ho vam fer, aquí mateix. 545 00:29:54,610 --> 00:29:57,760 Aquesta és la variable. 546 00:29:57,760 --> 00:30:04,730 >> I les visites respond_to fer | Format |, això és només una espècie de sintaxi Ruby 547 00:30:04,730 --> 00:30:08,140 si l'usuari em demana El codi HTML, que vaig a 548 00:30:08,140 --> 00:30:09,340 respondre amb codi HTML. 549 00:30:09,340 --> 00:30:15,500 Si l'usuari em demana amb codi JSON, que és una cosa que les aplicacions web utilitzen 550 00:30:15,500 --> 00:30:20,780 per comunicar-se entre si, que sol utilitzar JSON o algun altre 551 00:30:20,780 --> 00:30:23,120 tipus de coses. 552 00:30:23,120 --> 00:30:25,850 Per tant, només respon utilitzant els dos formats diferents. 553 00:30:25,850 --> 00:30:31,720 Però per a un usuari normal, aquesta no hauria de ser aquí. 554 00:30:31,720 --> 00:30:34,060 Vostè acaba de respondre amb HTML, i això està bé. 555 00:30:34,060 --> 00:30:36,220 Així que en realitat no es preocupen que molt sobre això. 556 00:30:36,220 --> 00:30:39,510 Aquesta és l'única línia de codi en el nostre control que s'està carregant d'HTML 557 00:30:39,510 --> 00:30:42,630 base de dades, posada en una cosa que és accessible per la vista. 558 00:30:42,630 --> 00:30:49,870 >> I llavors nova, així que aquí Estic creant llibres. 559 00:30:49,870 --> 00:30:55,490 Però per crear llibres, necessito un estudiant perquè necessito saber l'estudiant 560 00:30:55,490 --> 00:30:58,490 els llibres pertany això, és clar. 561 00:30:58,490 --> 00:31:00,780 Així @ estudiant = Estudiants. 562 00:31:00,780 --> 00:31:06,500 Estudiant, de nou, estem començant amb una gran S és l'alumne model. 563 00:31:06,500 --> 00:31:09,380 OK, així que aquest és l'estudiant model, aquest és el llibre de registre de model. 564 00:31:09,380 --> 00:31:15,150 Student.find, així que em vaig a trobar un estudiant utilitzant l'ID de paràmetres. 565 00:31:15,150 --> 00:31:19,160 params.id, això se m'acaba d'obtenir el valor d'aquesta ID que s'ha passat - 566 00:31:19,160 --> 00:31:23,410 i la URL. 567 00:31:23,410 --> 00:31:25,440 >> Només vaig a buscar a aquest estudiant. 568 00:31:25,440 --> 00:31:28,420 I en primer lloc, anem a comprovar si l'estudiant té algunes cançons 569 00:31:28,420 --> 00:31:29,910 i bla, bla, bla. 570 00:31:29,910 --> 00:31:35,570 I això ja s'encarrega de la cas en el qual l'estudiant 571 00:31:35,570 --> 00:31:38,340 no existeix, per exemple. 572 00:31:38,340 --> 00:31:44,450 I després, una altra cosa, només responem al mateix fent servir HTML. 573 00:31:44,450 --> 00:31:47,570 I després podem permetre que l'usuari crear les seves cançons. 574 00:31:47,570 --> 00:31:49,320 Així que això és nou. 575 00:31:49,320 --> 00:31:52,580 Nova s'utilitza generalment per, i molt l'usuari a crear alguna cosa. 576 00:31:52,580 --> 00:31:56,440 I després hi ha l'acció create Aquest sol ser usat per - 577 00:31:56,440 --> 00:31:59,040 realment posar les cançons a la base de dades o alguna cosa per l'estil. 578 00:31:59,040 --> 00:32:01,770 Però una vegada que comenci a utilitzar Rails, les coses seran 579 00:32:01,770 --> 00:32:05,110 molt, molt més clara. 580 00:32:05,110 --> 00:32:07,910 Bé, refredar. 581 00:32:07,910 --> 00:32:09,715 Qualsevol pregunta fins ara? 582 00:32:09,715 --> 00:32:15,240 El que té sentit amb els controladors, models, camps - 583 00:32:15,240 --> 00:32:17,860 ¿Si? 584 00:32:17,860 --> 00:32:20,980 >> De nou en la seva aplicació Rails - 585 00:32:20,980 --> 00:32:24,700 de manera que tot això es pot trobar aquí. 586 00:32:24,700 --> 00:32:30,430 Pel que té aplicació, els controladors, els són tots els meus controladors. 587 00:32:30,430 --> 00:32:32,880 Així, per exemple, les cartilles de control. 588 00:32:32,880 --> 00:32:35,490 Aquest és el que acabem de veure. 589 00:32:35,490 --> 00:32:36,400 I a continuació, vistes. 590 00:32:36,400 --> 00:32:39,750 I cada controlador té una vista associat, oi? 591 00:32:39,750 --> 00:32:43,750 Així que de forma automàtica quan es diu a aquest índex aquí, per exemple, o quan es 592 00:32:43,750 --> 00:32:49,930 cridar això els llibres nous, llavors la vista, llibres, nou serà anomenat. 593 00:32:49,930 --> 00:32:53,300 >> Així Rails ho fa tot automàticament. 594 00:32:53,300 --> 00:32:59,420 Així que cada controlador té un associat veure i tots els models - 595 00:32:59,420 --> 00:33:01,970 aquí tinc un, dos, tres, quatre, cinc models. 596 00:33:01,970 --> 00:33:05,800 Però aquest és un model d'estudiant, de manera que aquells són les variables que tots els 597 00:33:05,800 --> 00:33:08,620 els estudiants tenen - localització, data de naixement. 598 00:33:08,620 --> 00:33:11,270 Els estudiants són una mica més complicat perquè cada estudiant té 599 00:33:11,270 --> 00:33:15,400 mètode més diferents associada a ella. 600 00:33:15,400 --> 00:33:18,770 Però això és només el maneig de la taula que tenia tota la 601 00:33:18,770 --> 00:33:21,980 estudiants a la base de dades. 602 00:33:21,980 --> 00:33:24,300 >> I, d'acord, la instal · lació de Rails. 603 00:33:24,300 --> 00:33:27,710 Instal · lant Rails, per ser honest, No és la cosa més simple. 604 00:33:27,710 --> 00:33:32,980 Però una vegada que passes tot, és molt, molt fàcil. 605 00:33:32,980 --> 00:33:38,810 Així que instal · lar Rails, que acaba d'anar a la lloc web, rubyandrails.org / descàrrega 606 00:33:38,810 --> 00:33:41,510 i seguir les seves instruccions. 607 00:33:41,510 --> 00:33:42,700 Descarrega tot. 608 00:33:42,700 --> 00:33:46,600 I vostè pot fer això ja sigui en Appliance, al CS50 Appliance, en 609 00:33:46,600 --> 00:33:51,120 Windows, a Mac, o qualsevol operació sistema de la seva elecció. 610 00:33:51,120 --> 00:33:52,460 Ruby on Rails s'executa en tot. 611 00:33:52,460 --> 00:33:56,680 >> El més probable és que vostè ja ha instal · lat Rubí si vostè té un Mac o - 612 00:33:56,680 --> 00:33:58,130 en els aparells Crec Ruby és - 613 00:33:58,130 --> 00:34:00,940 No estic segur. 614 00:34:00,940 --> 00:34:02,440 I a continuació, només ha instal · lat. 615 00:34:02,440 --> 00:34:07,190 I si vol crear un nova aplicació web, només 616 00:34:07,190 --> 00:34:10,270 fer Rails, nou, bloc. 617 00:34:10,270 --> 00:34:12,429 Rails, noves - 618 00:34:12,429 --> 00:34:13,310 No sé - 619 00:34:13,310 --> 00:34:15,050 el nom del seu lloc web. 620 00:34:15,050 --> 00:34:16,380 I és així de simple. 621 00:34:16,380 --> 00:34:19,060 >> Es crearà tots els arxius que acabem de mostrar. 622 00:34:19,060 --> 00:34:22,730 Però el model, la vista i l' controlador no seran 623 00:34:22,730 --> 00:34:24,330 encara poblada. 624 00:34:24,330 --> 00:34:28,710 Només hauràs de anar-hi i poblar aquestes tres carpetes. 625 00:34:28,710 --> 00:34:32,840 Així que les probabilitats són, vostè vol crear un model, per exemple, posar en pràctica una 626 00:34:32,840 --> 00:34:33,780 modelar primer. 627 00:34:33,780 --> 00:34:40,440 Així que de nou, sempre tractant de mossegar a menor bits d'un problema alhora. 628 00:34:40,440 --> 00:34:42,659 >> I després direm, crear un model per als seus usuaris. 629 00:34:42,659 --> 00:34:44,370 Això és el primer si té usuaris. 630 00:34:44,370 --> 00:34:48,440 Llavors jo vull crear un model igual que mostrem aquí. 631 00:34:48,440 --> 00:34:58,470 Rails, generar, el model, l'usuari, i després correus electrònics cadena - tenim això aquí. 632 00:34:58,470 --> 00:35:01,200 I n'hi ha prou amb crear aquest model, sí. 633 00:35:01,200 --> 00:35:05,030 Rails generen model de correu electrònic de l'usuari: string contrasenya: string. 634 00:35:05,030 --> 00:35:09,650 >> I llavors es crea un controlador que s'ocupa de l'usuari. 635 00:35:09,650 --> 00:35:12,790 A més, pot crear nous usuaris i fer aquest tipus de coses. 636 00:35:12,790 --> 00:35:18,280 I llavors vostè pot seguir endavant amb la creació d' la resta del seu lloc web. 637 00:35:18,280 --> 00:35:22,470 Guai, preguntes? 638 00:35:22,470 --> 00:35:23,230 Sí 639 00:35:23,230 --> 00:35:24,480 >> AUDIÈNCIA: [inaudible] 640 00:35:24,480 --> 00:35:27,430 641 00:35:27,430 --> 00:35:29,910 >> GABRIEL GUIMARAES: Sí, sí, definitivament ha d'anar a la vista. 642 00:35:29,910 --> 00:35:31,290 Aquesta és una molt bona pregunta. 643 00:35:31,290 --> 00:35:36,410 Així que la vista és el que en realitat conté el codi HTML. 644 00:35:36,410 --> 00:35:39,240 Així que és el que els usuaris veuran. 645 00:35:39,240 --> 00:35:46,690 De nou, aquí, es tracta d'una exemple d'una vista. 646 00:35:46,690 --> 00:35:52,040 Té codi HTML i Ruby codi a la vegada. 647 00:35:52,040 --> 00:35:56,010 Així que el codi Ruby hi és per posar les coses de la base de dades, per exemple, 648 00:35:56,010 --> 00:35:59,150 que van ser carregats al controlador. 649 00:35:59,150 --> 00:36:04,240 Així que aquesta variable @ llibres, per exemple, té tots els llibres i la taula 650 00:36:04,240 --> 00:36:05,340 llibres a la base de dades. 651 00:36:05,340 --> 00:36:08,680 Ens assegurem que tenia al controlador. 652 00:36:08,680 --> 00:36:10,250 >> I la vista - 653 00:36:10,250 --> 00:36:15,900 cadascuna de les pàgines fora del seu lloc web és tindrà una vista associat. 654 00:36:15,900 --> 00:36:21,762 Així que si vostè va a la pàgina d'inici, la primera pàgina, harvard2017.com. 655 00:36:21,762 --> 00:36:23,490 Això mostra una pàgina. 656 00:36:23,490 --> 00:36:26,760 I després vas a retallar perfil. 657 00:36:26,760 --> 00:36:30,150 Això va a anar a un controlador això és un controlador de perfil. 658 00:36:30,150 --> 00:36:34,620 I el controlador de perfil es va per donar-li la vista de perfil. 659 00:36:34,620 --> 00:36:37,590 I la vista de perfil es veurà alguna cosa així, però que 660 00:36:37,590 --> 00:36:41,910 tenir informació sobre l'usuari, i no dels llibres. 661 00:36:41,910 --> 00:36:46,840 >> Així que és de codi HTML i CSS i els coses que un usuari veu 662 00:36:46,840 --> 00:36:49,680 amb el codi de Ruby - 663 00:36:49,680 --> 00:36:52,505 que realment imprimeix coses de la base de dades. 664 00:36:52,505 --> 00:36:54,520 Això és més clar? 665 00:36:54,520 --> 00:36:55,080 Espero. 666 00:36:55,080 --> 00:36:58,066 >> AUDIÈNCIA: El codi HTML s'utilitza per de fet fer que el lloc web que l' 667 00:36:58,066 --> 00:37:02,470 usuari veu, però el codi de Ruby és el que fa que el treball del lloc web? 668 00:37:02,470 --> 00:37:06,500 >> GABRIEL GUIMARAES: El codi Ruby aconsegueix convertir a HTML. 669 00:37:06,500 --> 00:37:09,420 Així que el que obté l'usuari és només HTML, OK? 670 00:37:09,420 --> 00:37:10,900 És només HTML. 671 00:37:10,900 --> 00:37:18,740 Aquesta book.title convertirà en el valor de book.title en HTML, a D'acord. 672 00:37:18,740 --> 00:37:23,080 Així que això és tot al servidor, i així això depèn del que els llibres hi són 673 00:37:23,080 --> 00:37:24,410 al servidor en aquest moment. 674 00:37:24,410 --> 00:37:32,930 Però el que el servidor ho faria immediatament sentit és només el codi HTML, a D'acord. 675 00:37:32,930 --> 00:37:36,720 >> Però la vista només es dóna per la disposició de el que l'HTML es va a veure com 676 00:37:36,720 --> 00:37:39,530 i quines són les variables seran. 677 00:37:39,530 --> 00:37:42,170 Aquest tipus de sortida d'impressió, a D'acord. 678 00:37:42,170 --> 00:37:44,360 Aquestes coses no són bàsicament imprimir outs. 679 00:37:44,360 --> 00:37:47,430 Ells van a imprimir les variables, a D'acord. 680 00:37:47,430 --> 00:37:49,850 Llavors, què és només HTML, els que - 681 00:37:49,850 --> 00:37:51,390 autor, títol, descripció. 682 00:37:51,390 --> 00:37:53,540 Això és contingut estàtic. 683 00:37:53,540 --> 00:37:54,520 Això no canviarà. 684 00:37:54,520 --> 00:37:56,700 Això és codi HTML simplement. 685 00:37:56,700 --> 00:37:59,080 Aquestes són les sortides de la impressió per a les variables - 686 00:37:59,080 --> 00:38:00,330 coses que en depenen. 687 00:38:00,330 --> 00:38:02,350 688 00:38:02,350 --> 00:38:03,600 Cool, més preguntes? 689 00:38:03,600 --> 00:38:12,120 690 00:38:12,120 --> 00:38:12,600 Bé? 691 00:38:12,600 --> 00:38:13,080 Sí 692 00:38:13,080 --> 00:38:15,720 >> AUDIÈNCIA: Crec que estava fent tot el l'edició d'un text diferent 693 00:38:15,720 --> 00:38:16,920 programa d'edició. 694 00:38:16,920 --> 00:38:19,520 Hauríem també hem de descarregar? 695 00:38:19,520 --> 00:38:24,250 >> GABRIEL GUIMARAES: Sí, m'agrada això editor de text anomenat TextMate. 696 00:38:24,250 --> 00:38:24,990 I és realment bo. 697 00:38:24,990 --> 00:38:26,980 Està ben adaptat a Ruby. 698 00:38:26,980 --> 00:38:29,270 Es colors coses amb molta cura. 699 00:38:29,270 --> 00:38:34,770 Així TextMate, T-E-X-T. Vaig posar que, aguanta - 700 00:38:34,770 --> 00:38:42,880 701 00:38:42,880 --> 00:38:45,720 >> Vull dir que pots utilitzar gedit o el que vulguis. 702 00:38:45,720 --> 00:38:49,970 Però això és específic per a Mac, i això és realment fantàstic, ja que posa a tots 703 00:38:49,970 --> 00:38:51,000 seus arxius allà. 704 00:38:51,000 --> 00:38:53,620 I en Ruby on Rails, cal per canviar els arxius de molt. 705 00:38:53,620 --> 00:38:55,890 Així que és de molts, molts arxius només anar d'un arxiu, saltar a 706 00:38:55,890 --> 00:38:57,120 un arxiu o l'altra. 707 00:38:57,120 --> 00:39:02,000 Així TextMate és molt bo, però hi ha un munt per aquí. 708 00:39:02,000 --> 00:39:03,250 Més preguntes? 709 00:39:03,250 --> 00:39:08,680 710 00:39:08,680 --> 00:39:09,870 Bé, no? 711 00:39:09,870 --> 00:39:12,825 >> AUDIÈNCIA: Hi ha un desenvolupament mòbil a través de Ruby on Rails? 712 00:39:12,825 --> 00:39:15,640 713 00:39:15,640 --> 00:39:17,050 >> GABRIEL GUIMARAES: Tinc sentit parlar de les coses. 714 00:39:17,050 --> 00:39:19,550 Jo no els he fet servir. 715 00:39:19,550 --> 00:39:21,570 Vostè podria investigar més sobre això. 716 00:39:21,570 --> 00:39:24,740 No estic segur de si hi ha alguna El millor que hi ha. 717 00:39:24,740 --> 00:39:29,980 718 00:39:29,980 --> 00:39:31,030 Bé, no? 719 00:39:31,030 --> 00:39:32,280 >> AUDIÈNCIA: [inaudible] 720 00:39:32,280 --> 00:39:38,340 721 00:39:38,340 --> 00:39:40,550 >> GABRIEL GUIMARAES: No Rails, probablement varietat Ruby. 722 00:39:40,550 --> 00:39:44,270 723 00:39:44,270 --> 00:39:49,080 Obriu una finestra de terminal i el tipus, "Ruby". 724 00:39:49,080 --> 00:39:52,030 Sí, probablement, i llavors vostè simplement instal · leu Rails. 725 00:39:52,030 --> 00:39:57,050 Però si vostè va a instal lar el nou Rails 4.0, que recomano encaridament, 726 00:39:57,050 --> 00:40:02,870 vostè ha de descarregar de Ruby 2.0. 727 00:40:02,870 --> 00:40:04,530 Aquesta és la nova també. 728 00:40:04,530 --> 00:40:09,530 I els nous Rails 4.0 té alguna cosa genial que 729 00:40:09,530 --> 00:40:11,260 ho fa amb els actius. 730 00:40:11,260 --> 00:40:12,810 Gestiona actius. 731 00:40:12,810 --> 00:40:18,860 Actius de nou són imatges, arxius CSS, i arxius JavaScript. 732 00:40:18,860 --> 00:40:24,060 Així que una cosa realment polida que Ruby on Rails té per a vostè és tots els CSS 733 00:40:24,060 --> 00:40:26,980 arxius que tens i tot - 734 00:40:26,980 --> 00:40:32,420 simplement fas tot per amunt en una enorme arxiu, sense espais ni res, 735 00:40:32,420 --> 00:40:40,120 per reduir al mínim el temps que l'usuari necessita descarregar aquest codi del seu servidor. 736 00:40:40,120 --> 00:40:47,780 >> Així que quan et veus al teu ordinador, és tindrà com 15 arxius CSS. 737 00:40:47,780 --> 00:40:49,520 O molts, molts arxius CSS diferents. 738 00:40:49,520 --> 00:40:54,890 Però al final del dia, el que Rails automàticament fa per a vostè és que posa 739 00:40:54,890 --> 00:41:00,760 tot junt en un arxiu gran de manera que minimitza el temps de sol · licitud. 740 00:41:00,760 --> 00:41:02,630 Això és realment genial. 741 00:41:02,630 --> 00:41:02,940 Sí? 742 00:41:02,940 --> 00:41:04,190 >> AUDIÈNCIA: [inaudible] 743 00:41:04,190 --> 00:41:13,910 744 00:41:13,910 --> 00:41:14,440 >> GABRIEL GUIMARAES: Exactament. 745 00:41:14,440 --> 00:41:16,230 Per tant, la integració de Google Maps. 746 00:41:16,230 --> 00:41:20,200 Aquesta és una API de JavaScript de Google. 747 00:41:20,200 --> 00:41:23,750 Així que em vaig anar a la pàgina web de Google. 748 00:41:23,750 --> 00:41:29,950 Ells tenen aquesta API de Google Maps i jo descarregat el codi i ho va integrar 749 00:41:29,950 --> 00:41:31,610 al meu entendre. 750 00:41:31,610 --> 00:41:35,490 Així que el que havia de fer allà és que em necessitava per aconseguir la 751 00:41:35,490 --> 00:41:37,310 poblacions de la base de dades. 752 00:41:37,310 --> 00:41:38,990 Això es va fer al controlador. 753 00:41:38,990 --> 00:41:40,950 Així que vaig anar al controlador - 754 00:41:40,950 --> 00:41:42,350 On és el controlador. 755 00:41:42,350 --> 00:41:44,330 El controlador es veia així. 756 00:41:44,330 --> 00:41:48,660 Tens totes les ubicacions de la estudiants, posar tot això en un gran 757 00:41:48,660 --> 00:41:52,060 variables, una gran llista, que té totes les localitats. 758 00:41:52,060 --> 00:41:55,340 >> I a la vista, ja que el codi JavaScript API és alguna cosa en el 759 00:41:55,340 --> 00:41:55,800 veure, no? 760 00:41:55,800 --> 00:42:00,440 Com que JavaScript s'executa dins del seu HTML codi, que serà enviat a 761 00:42:00,440 --> 00:42:01,710 la màquina de l'usuari. 762 00:42:01,710 --> 00:42:09,310 I a la vista, vaig carregar tot això informació en l'API de Google. 763 00:42:09,310 --> 00:42:12,080 I ho va fer tot això per jo, que és realment genial. 764 00:42:12,080 --> 00:42:16,240 Però si vol utilitzar les coses al back-end, i és com una biblioteca, per 765 00:42:16,240 --> 00:42:18,720 exemple, de nou - 766 00:42:18,720 --> 00:42:20,140 la integració amb Facebook. 767 00:42:20,140 --> 00:42:24,060 Això és una cosa que molts, molts, moltes de les aplicacions estan utilitzant avui en dia. 768 00:42:24,060 --> 00:42:27,300 >> Així que la seva integració amb Facebook perquè és molt més fàcil simplement 769 00:42:27,300 --> 00:42:30,450 Inicia sessió a Facebook de crear un compte i bla, bla, bla. 770 00:42:30,450 --> 00:42:35,120 Llavors només ha d'utilitzar una joia i és tan simple com anar a l'arxiu de joia. 771 00:42:35,120 --> 00:42:39,350 Gem arxiu és un arxiu anomenat arxiu joia en directori d'origen de la Ruby on 772 00:42:39,350 --> 00:42:40,370 Rails projecte. 773 00:42:40,370 --> 00:42:43,700 Només has d'anar-hi o afegir nova joia. 774 00:42:43,700 --> 00:42:45,300 I ho busques a Google. 775 00:42:45,300 --> 00:42:46,520 Hi ha moltes, moltes, moltes joies. 776 00:42:46,520 --> 00:42:51,070 N'hi ha un que ho faci específicament això per a la integració de Facebook. 777 00:42:51,070 --> 00:42:54,660 No estic segur del que el nom de la mateixa. 778 00:42:54,660 --> 00:42:56,680 Només Google i ja està trobarà. 779 00:42:56,680 --> 00:42:57,930 Bé, més preguntes? 780 00:42:57,930 --> 00:43:01,110 781 00:43:01,110 --> 00:43:03,280 Impressionant, gràcies per venir. 782 00:43:03,280 --> 00:43:09,227