1 00:00:00,000 --> 00:00:08,560 2 00:00:08,560 --> 00:00:10,410 >> GABRIEL GUIMARÃES: Este é CS50. 3 00:00:10,410 --> 00:00:14,740 Benvido ao sorprendentes Web Apps con Ruby on Rails. 4 00:00:14,740 --> 00:00:19,700 Entón, para quen está interesado en web de desenvolvemento e de facer sitios web, web 5 00:00:19,700 --> 00:00:26,510 aplicacións, Ruby on Rails é este ferramenta incrible que Twitter, GitHub, 6 00:00:26,510 --> 00:00:31,470 Groupon, e todo tipo de moi bo, e grande, aplicacións web está a usar en 7 00:00:31,470 --> 00:00:33,080 Nos últimos anos. 8 00:00:33,080 --> 00:00:37,190 E é unha moi, moi legal recurso, un instrumento legal, 9 00:00:37,190 --> 00:00:39,290 porque é novo. 10 00:00:39,290 --> 00:00:43,830 Por iso, ten toda a nova e poderosa tecnoloxías incorporada unha 11 00:00:43,830 --> 00:00:49,050 estrutura que axuda a xestionar todo tipo de cousas incribles. 12 00:00:49,050 --> 00:00:50,970 >> Pero o que é un framework? 13 00:00:50,970 --> 00:00:55,700 Así, unha estrutura é basicamente algo que crea - 14 00:00:55,700 --> 00:00:59,680 cando comeza un sitio, se comezou a partir de cero, como abrir 15 00:00:59,680 --> 00:01:04,530 gedit alí, e quere codificar todo do seu HTML, eo código de todo o seu 16 00:01:04,530 --> 00:01:08,130 PHP, todo o seu CSS, todo a partir de cero - 17 00:01:08,130 --> 00:01:09,690 que só vai ser unha chea de traballo. 18 00:01:09,690 --> 00:01:13,940 E un cadro literalmente dálle metade do sitio web xa feito. 19 00:01:13,940 --> 00:01:18,070 Entón, comeza con metade dun sitio web que ten todo o que hai para vostede. 20 00:01:18,070 --> 00:01:22,690 Como as conexións de base de datos, e todos tipo de cousas que ten que se preocupar 21 00:01:22,690 --> 00:01:25,040 E se está facendo iso a partir de cero, non se preocupe os 22 00:01:25,040 --> 00:01:26,480 detalles de baixo nivel. 23 00:01:26,480 --> 00:01:32,360 >> Pero hoxe imos exportar unha das os sitios que o calouro do 24 00:01:32,360 --> 00:01:34,740 clase de 2017 probablemente está familiarizado. 25 00:01:34,740 --> 00:01:40,170 Polo tanto, esta web é o sitio que eu fixo pola nosa clase durante o verán. 26 00:01:40,170 --> 00:01:46,500 Era un sitio onde os estudantes de a clase de 2017 poidan loguearse e 27 00:01:46,500 --> 00:01:47,480 interactuar uns cos outros. 28 00:01:47,480 --> 00:01:49,610 E entón que é un mapa - 29 00:01:49,610 --> 00:01:51,210 todos, onde a xente está. 30 00:01:51,210 --> 00:01:56,970 E tivemos un xogo libro, un xogo de música onde vimos cancións das persoas e 31 00:01:56,970 --> 00:01:57,970 libros das persoas. 32 00:01:57,970 --> 00:02:00,480 Que quere ler, o que eles quere escoitar. 33 00:02:00,480 --> 00:02:06,830 E a parte máis interesante é que literalmente me levou tres horas 34 00:02:06,830 --> 00:02:07,840 codificar todo isto. 35 00:02:07,840 --> 00:02:13,050 Porque se eu tivese que facer todo de cero, coma se abrindo gedit, el 36 00:02:13,050 --> 00:02:16,400 probabelmente tomaría me 20, 30 horas. 37 00:02:16,400 --> 00:02:20,210 Pero con Ruby on Rails, porque todo xa foi creado por min, 38 00:02:20,210 --> 00:02:25,550 el só me deu tres ou catro horas, ou algo parecido. 39 00:02:25,550 --> 00:02:27,580 >> Entón o que é Ruby on Rails. 40 00:02:27,580 --> 00:02:32,720 Ruby on Rails, unha vez máis, como xa dixo, é un cadro. 41 00:02:32,720 --> 00:02:34,800 Esta é unha imaxe dun cadro. 42 00:02:34,800 --> 00:02:37,460 Entón, vai comezar a construír unha casa, xa ten a metade do 43 00:02:37,460 --> 00:02:38,320 casa feito. 44 00:02:38,320 --> 00:02:38,970 Ese é o cadro. 45 00:02:38,970 --> 00:02:40,560 E Ruby on Rails é exactamente así. 46 00:02:40,560 --> 00:02:44,440 E ten que pensar niso como, comeza un sitio web, comezar a súa web 47 00:02:44,440 --> 00:02:48,830 aplicación, xa temos metade do que fixo alí. 48 00:02:48,830 --> 00:02:50,400 Pero antes de todo, o que é Ruby? 49 00:02:50,400 --> 00:02:53,510 50 00:02:53,510 --> 00:02:58,310 Ruby on Rails usa a vista do modelo controlador, que é paradigma, o cal 51 00:02:58,310 --> 00:02:59,930 é realmente interesante - 52 00:02:59,930 --> 00:03:04,250 e todas as aplicacións nos días de hoxe usar algo como iso. 53 00:03:04,250 --> 00:03:08,630 Esta idea de separar as cousas en tres partes, o modelo, a vista, e 54 00:03:08,630 --> 00:03:09,630 o controlador. 55 00:03:09,630 --> 00:03:11,950 Imos falar un pouco máis sobre iso máis tarde. 56 00:03:11,950 --> 00:03:13,400 >> En primeiro lugar, o que é Ruby? 57 00:03:13,400 --> 00:03:14,500 Polo tanto, esta é Ruby. 58 00:03:14,500 --> 00:03:17,850 E este é o símbolo da linguaxe chamada Ruby. 59 00:03:17,850 --> 00:03:24,170 Ruby é unha das newish_nms interpretados linguaxes, así guión. 60 00:03:24,170 --> 00:03:29,530 É unha linguaxe que non está feita como C. Ela é compilada en fuga. 61 00:03:29,530 --> 00:03:33,220 Entón, iso é bo, porque, así como PHP, por exemplo, tamén é interpretado, é 62 00:03:33,220 --> 00:03:33,960 non compilado. 63 00:03:33,960 --> 00:03:35,710 Iso é bo porque o seu portátil. 64 00:03:35,710 --> 00:03:39,740 Entón acaba de pasar o seu código de unha máquina a outra. 65 00:03:39,740 --> 00:03:44,440 A partir dunha máquina Linux, para un Windows máquina, a unha máquina Mac ou Apple, ou 66 00:03:44,440 --> 00:03:45,240 algo parecido. 67 00:03:45,240 --> 00:03:49,160 E non se preocupe detalles sobre cada un dos específicos 68 00:03:49,160 --> 00:03:49,890 sistemas operativos. 69 00:03:49,890 --> 00:03:51,330 El vai funcionar en todas as partes. 70 00:03:51,330 --> 00:03:54,700 >> E Ruby é unha linguaxe que - 71 00:03:54,700 --> 00:03:56,920 Vostedes probablemente recorda diso. 72 00:03:56,920 --> 00:04:01,440 As persoas usan a función hash aplicada en C para a táboa hash 73 00:04:01,440 --> 00:04:04,860 a semana pasada e tiña todo tipo de fallos de segmentación. 74 00:04:04,860 --> 00:04:12,360 E entón as cousas se preocupar se esta secuencia i alí, o i cadea 75 00:04:12,360 --> 00:04:20,380 aquí, foi realmente minúsculas ou maiúscula, ou este tipo de preocupante 76 00:04:20,380 --> 00:04:21,410 detalles de baixo nivel. 77 00:04:21,410 --> 00:04:26,180 Ben, en Ruby, se quere aplicar unha táboa hash, este é exactamente como 78 00:04:26,180 --> 00:04:27,100 crear unha táboa hash. 79 00:04:27,100 --> 00:04:30,280 Vostede di, dicionario, que é o nome da miña variable, = "Hash.new". 80 00:04:30,280 --> 00:04:34,680 E entón dicionario ["foo"], e cando estou engadindo foo á miña táboa hash, eu son 81 00:04:34,680 --> 00:04:35,960 só dicindo foo está aí. 82 00:04:35,960 --> 00:04:38,070 >> E entón se eu quería comprobar se pepe estaba alí, eu acabo de dicir se 83 00:04:38,070 --> 00:04:40,270 dicionario ["foo"] == true return true. 84 00:04:40,270 --> 00:04:41,560 Whoa, e esa é a súa táboa de hash. 85 00:04:41,560 --> 00:04:44,280 Esa é a posta en marcha de táboa hash en Ruby. 86 00:04:44,280 --> 00:04:50,200 Entón, todo o mundo quería que poderían usar algo coma Ruby para rematar 87 00:04:50,200 --> 00:04:51,450 pset de semana, non? 88 00:04:51,450 --> 00:04:54,410 89 00:04:54,410 --> 00:04:59,050 Temos todo tipo de razóns para querer usar unha linguaxe como Ruby. 90 00:04:59,050 --> 00:05:01,380 Ruby ten pedras preciosas. 91 00:05:01,380 --> 00:05:04,000 Gem é un nome para un tipo de biblioteca en Ruby. 92 00:05:04,000 --> 00:05:07,490 >> Así, todo tipo de recursos interesantes que pode ter, por exemplo, se eu 93 00:05:07,490 --> 00:05:09,280 quere integrar a miña aplicación. 94 00:05:09,280 --> 00:05:12,470 Esta proposta de Harvard 2017 foi integrado ao Facebook. 95 00:05:12,470 --> 00:05:15,810 Entón, vostede podería entrar, vía Facebook, a app. 96 00:05:15,810 --> 00:05:19,760 Entón, se vai facelo, non se preocupe o envío dalgúns 97 00:05:19,760 --> 00:05:23,760 Solicitude HTTP para Facebook, e espera para a resposta, e forzando o 98 00:05:23,760 --> 00:05:25,150 resposta, e bla, bla, bla. 99 00:05:25,150 --> 00:05:29,120 Acaba de facer a descarga da xoia que fai todo isto para ti. 100 00:05:29,120 --> 00:05:30,750 E entón non necesita preocuparse todo isto. 101 00:05:30,750 --> 00:05:33,670 >> E despois de moita axuda en liña, por suposto. 102 00:05:33,670 --> 00:05:37,040 Hai moitos, moitos, moitos sitios que vai axudar tanto con 103 00:05:37,040 --> 00:05:38,880 Ruby e Rails con. 104 00:05:38,880 --> 00:05:40,530 E é moi divertido de código. 105 00:05:40,530 --> 00:05:46,770 Exactamente porque pode deixar de se preocupar sobre estes problemas non tan divertido. 106 00:05:46,770 --> 00:05:50,690 Como se algo é ou minúsculas maiúsculas, a continuación, por que é isto 107 00:05:50,690 --> 00:05:54,500 dándolle un fallo de segmento, e realmente pode mergullo no moi 108 00:05:54,500 --> 00:05:55,460 cousas interesantes. 109 00:05:55,460 --> 00:05:59,650 Para mergullar nos problemas moi legal. 110 00:05:59,650 --> 00:06:02,420 >> Entón Ruby é só como a C nun sentido. 111 00:06:02,420 --> 00:06:05,950 Polo tanto, non será que de un gran salto en realidade. 112 00:06:05,950 --> 00:06:09,470 Entón pon, ese é o noso programa de impresión en Ruby. 113 00:06:09,470 --> 00:06:12,790 Coido que podería usar print tamén, pero pon é o que todo o mundo usa. 114 00:06:12,790 --> 00:06:14,490 Entón, só pon "Ola Mundo". 115 00:06:14,490 --> 00:06:21,400 Podería, ou non podería, ter o paréntese circundando 116 00:06:21,400 --> 00:06:23,280 "Ola Mundo" alí. 117 00:06:23,280 --> 00:06:25,350 Só pode escoller se ou para non usar iso. 118 00:06:25,350 --> 00:06:26,780 E entón x = "1". 119 00:06:26,780 --> 00:06:29,030 Un loop while parece moi moi mesmo. 120 00:06:29,030 --> 00:06:30,630 El só ten menos de sintaxe. 121 00:06:30,630 --> 00:06:32,590 É un tipo de produto de limpeza un pouco. 122 00:06:32,590 --> 00:06:37,380 E entón, se x> 25 puts "Big" e outra cousa pon "Small ...". 123 00:06:37,380 --> 00:06:39,070 E é unha especie de C nese sentido. 124 00:06:39,070 --> 00:06:41,630 >> Entón, se ollar para iso, pode visión probablemente entender 125 00:06:41,630 --> 00:06:42,890 todo o que está a suceder. 126 00:06:42,890 --> 00:06:47,750 Pero é máis poderoso. 127 00:06:47,750 --> 00:06:54,520 Máis poderoso, porque, máis que iso, Pode facer cousas que non son - 128 00:06:54,520 --> 00:06:55,750 algún tipo de hackage un pouco. 129 00:06:55,750 --> 00:06:57,430 En C non podería facer en só facer unha liña. 130 00:06:57,430 --> 00:06:58,680 Por exemplo, pon "Eu son # {x}". 131 00:06:58,680 --> 00:07:04,330 132 00:07:04,330 --> 00:07:11,100 Este é só sintaxe para poñer o valor x aquí, e non imprimir o 133 00:07:11,100 --> 00:07:12,160 carácter x. 134 00:07:12,160 --> 00:07:17,850 En C que tiña que facer a porcentaxe d, e a continuación, colocar-se a variable x trala 135 00:07:17,850 --> 00:07:19,730 coma aquí, ou algo parecido. 136 00:07:19,730 --> 00:07:22,220 >> E en Ruby hai un atallo para só facelo. 137 00:07:22,220 --> 00:07:27,830 E pon iso, se x> 3, entón podes poñer o se todo nunha liña. 138 00:07:27,830 --> 00:07:29,010 E, a continuación, unha lista. 139 00:07:29,010 --> 00:07:33,320 Listas en C, como un array, ten que seguir como o seu gran matriz é ou 140 00:07:33,320 --> 00:07:34,720 se non ter unha segmentación falla. 141 00:07:34,720 --> 00:07:36,210 Súa matriz é só un tipo. 142 00:07:36,210 --> 00:07:38,790 Polo tanto, é un array de carga ou unha matriz de números enteiros. 143 00:07:38,790 --> 00:07:43,620 Neste caso, eu criei unha lista aquí, que é unha matriz, que ten o primeiro 144 00:07:43,620 --> 00:07:48,450 elemento é unha cadea, John, e despois catro, dous - eses son números enteiros. 145 00:07:48,450 --> 00:07:53,590 E entón eu só engadir, lista, o Esquerda Angle bracket, Esquerda 146 00:07:53,590 --> 00:07:54,820 Angle bracket, tres. 147 00:07:54,820 --> 00:07:58,170 Isto significa que só achegar algo para miña lista. 148 00:07:58,170 --> 00:08:01,630 >> Entón, é unha especie de máis interesante porque se quixese usar isto como 149 00:08:01,630 --> 00:08:03,920 só unha simple lista de números enteiros, podería, totalmente. 150 00:08:03,920 --> 00:08:05,530 Isto é totalmente bo. 151 00:08:05,530 --> 00:08:06,750 Basta pór enteiros alí. 152 00:08:06,750 --> 00:08:10,240 Pero se quere facer algo que é máis atractivo, que ten outro 153 00:08:10,240 --> 00:08:11,690 cousas, que ten - 154 00:08:11,690 --> 00:08:15,480 Non sei, todo tipo de listas en alí, ou outros obxectos que son máis 155 00:08:15,480 --> 00:08:16,970 interesante, pode facelo totalmente. 156 00:08:16,970 --> 00:08:17,880 É totalmente ben. 157 00:08:17,880 --> 00:08:21,210 E entón se quere para percorrer Na lista, pode utilizar o 158 00:08:21,210 --> 00:08:24,850 máis tipo C-ISH de visión. 159 00:08:24,850 --> 00:08:29,970 Isto é para loop, que inicie unha variable, i = "1", ou i = "0". 160 00:08:29,970 --> 00:08:32,980 E entón vai, e interactuar, e obter todos os elementos. 161 00:08:32,980 --> 00:08:37,559 >> Pero tamén pode usar este visión máis Rubi-like. 162 00:08:37,559 --> 00:08:40,289 Isto é só como un list.each. 163 00:08:40,289 --> 00:08:45,230 Isto está só dicindo, me voltar todos os elementos da lista. 164 00:08:45,230 --> 00:08:49,120 E facer con cada elemento, chamalos de ELEM. 165 00:08:49,120 --> 00:08:51,880 Polo tanto, este é só un nome que eu son dando a cada elemento. 166 00:08:51,880 --> 00:08:56,630 E agora isto vai repetir para todos os elementos, e ELEM, vai 167 00:08:56,630 --> 00:09:00,790 ser o camiño que temos acceso que un único elemento. 168 00:09:00,790 --> 00:09:04,310 Entón, vostede podería totalmente manter o Abordaxe C, pero funciona tamén. 169 00:09:04,310 --> 00:09:07,970 E é exactamente o mesmo, Aceptar. 170 00:09:07,970 --> 00:09:13,830 >> E ademais, é realmente, realmente fácil de integrar Ruby e HTML 171 00:09:13,830 --> 00:09:17,010 xa que vostedes están interesados en aplicacións web. 172 00:09:17,010 --> 00:09:20,070 HTML é sempre algo que vai empregar moito. 173 00:09:20,070 --> 00:09:25,820 E aquí, se quere poñer o Ruby HTML, só comezar, <%. 174 00:09:25,820 --> 00:09:28,500 Isto significa que, aquí comeza o Ruby. 175 00:09:28,500 --> 00:09:32,130 E entón%>, como forma de PHP nese sentido. 176 00:09:32,130 --> 00:09:35,520 Aquí remata o Ruby e, a continuación, pode só tes que poñer o seu caso aquí. 177 00:09:35,520 --> 00:09:39,400 E entón eu teño algunha variable user.logged_in. 178 00:09:39,400 --> 00:09:45,120 En Ruby, que normalmente engadir aqueles, sexa punto de interrogação ou de exclamación 179 00:09:45,120 --> 00:09:48,210 marca, como un personaxe de base, só para o tipo de 180 00:09:48,210 --> 00:09:49,480 distinguir entre as funcións. 181 00:09:49,480 --> 00:09:52,780 Pero acaba de poñer que para o seu propio ben. 182 00:09:52,780 --> 00:09:56,910 Non é algo que cambia nada na funcionalidade. 183 00:09:56,910 --> 00:10:01,160 >> Entón, só para me lembrar que este é un función - e as funcións en Ruby, 184 00:10:01,160 --> 00:10:06,650 en vez de C, como eu xa dixen, non precisan dos parénteses. 185 00:10:06,650 --> 00:10:09,740 Así que sesión cousa, iso é unha función, que é un método. 186 00:10:09,740 --> 00:10:12,990 Pero non precisa explícitamente poñer os parénteses alí. 187 00:10:12,990 --> 00:10:16,030 Entón, só tes que preguntar se o usuario de sesión, e se o usuario de sesión, agora 188 00:10:16,030 --> 00:10:17,100 HTML comeza de novo. 189 00:10:17,100 --> 00:10:21,670 Entón, benvido, e aquí Eu imprimir o user.name. 190 00:10:21,670 --> 00:10:22,920 E é iso. 191 00:10:22,920 --> 00:10:24,970 192 00:10:24,970 --> 00:10:30,420 Entón, iso é moi sinxelo, como a integrar o Ruby co seu HTML. 193 00:10:30,420 --> 00:10:34,560 E os recursos, como dixen, hai todo tipo de recursos para Ruby. 194 00:10:34,560 --> 00:10:39,560 Podedes ollar iso despois porque tanto o video, e 195 00:10:39,560 --> 00:10:40,875 diapositivas, van estar dispoñible en liña. 196 00:10:40,875 --> 00:10:44,620 197 00:10:44,620 --> 00:10:47,180 >> E agora imos entrar en Rails. 198 00:10:47,180 --> 00:10:48,330 Rails é o amor. 199 00:10:48,330 --> 00:10:49,230 Carrís - 200 00:10:49,230 --> 00:10:51,030 así Ruby é a súa linguaxe. 201 00:10:51,030 --> 00:10:54,340 OK, así como PHP, así como Python. 202 00:10:54,340 --> 00:10:59,980 É unha linguaxe de alto nivel, non como C. Un medio, linguaxe de baixo nivel de C en 203 00:10:59,980 --> 00:11:05,240 sentido de que Ruby que non ten que preocupe a realocação de memoria e 204 00:11:05,240 --> 00:11:07,300 punteiros, e eses tipos de cousas. 205 00:11:07,300 --> 00:11:11,120 Pero Rails é este programa que foi escrito en Ruby. 206 00:11:11,120 --> 00:11:15,610 E emprega Ruby, a fin de ter a cadro, para que sexa capaz de 207 00:11:15,610 --> 00:11:18,990 construír aplicacións web impresionante. 208 00:11:18,990 --> 00:11:21,940 >> Entón tes que instalar primeiro o Ruby on súa máquina, pero a maioría das máquinas 209 00:11:21,940 --> 00:11:22,630 xa ten iso. 210 00:11:22,630 --> 00:11:24,800 E, a continuación, instalar os carrís enriba dela. 211 00:11:24,800 --> 00:11:26,540 Nós imos falar sobre iso máis tarde. 212 00:11:26,540 --> 00:11:28,100 E por que Rails? 213 00:11:28,100 --> 00:11:31,470 Entón, MVC, que é o controlador de vista do modelo falamos un pouco 214 00:11:31,470 --> 00:11:36,050 bit, fai todo máis sinxelo porque divide as cousas que son 215 00:11:36,050 --> 00:11:42,420 conceptualmente diferentes en diferentes partes da súa aplicación. 216 00:11:42,420 --> 00:11:45,930 Menos tempo gastado en problemas de baixo nivel, de novo, e moito, moito 217 00:11:45,930 --> 00:11:46,820 popular agora. 218 00:11:46,820 --> 00:11:52,130 Entón, para todos aqueles que están interesados ​​en a posta en marcha de escena, ou en algo 219 00:11:52,130 --> 00:11:58,435 como iniciar negocios, e as persoas no mercado de tecnoloxía, que son 220 00:11:58,435 --> 00:12:02,440 comezar o seu propio negocio agora son moi, moi fans de Ruby on 221 00:12:02,440 --> 00:12:04,120 Rails porque é moi rápido. 222 00:12:04,120 --> 00:12:07,510 >> Entón pode obter algo en marcha en menos dun día, e iso é 223 00:12:07,510 --> 00:12:10,410 realmente un moi atractivo argumento para usar Ruby. 224 00:12:10,410 --> 00:12:13,460 E Rails 4.0 - 225 00:12:13,460 --> 00:12:15,920 é moi fresco do forno agora. 226 00:12:15,920 --> 00:12:16,930 Entón, Rails 4.0 - 227 00:12:16,930 --> 00:12:20,180 Coido que a primeira versión foi en marzo deste ano. 228 00:12:20,180 --> 00:12:23,460 E é moi bo, ten todo tipo de novas características, cool. 229 00:12:23,460 --> 00:12:30,290 Entón Ruby on Rails é un framework que se sendo constantemente actualizado para ter todo 230 00:12:30,290 --> 00:12:31,540 da nova tecnoloxía. 231 00:12:31,540 --> 00:12:33,710 232 00:12:33,710 --> 00:12:39,800 >> A primeira vez que eu tente utilizar Ruby on Rails, eu tiña ese problema, porque eu 233 00:12:39,800 --> 00:12:44,540 creei a miña primeira aplicación web, e parecía exactamente así. 234 00:12:44,540 --> 00:12:49,020 El crea todos estes ficheiros a ti, e eu non tiña idea do que - 235 00:12:49,020 --> 00:12:50,780 o que é iso? 236 00:12:50,780 --> 00:12:54,850 Creou todos eses arquivos, e eu só quería crear un programa sinxelo, unha 237 00:12:54,850 --> 00:12:57,140 páxina HTML simples. 238 00:12:57,140 --> 00:12:59,680 E eu non podía mesmo facer nada. 239 00:12:59,680 --> 00:13:02,430 Entón, eu estaba un pouco resaltado. 240 00:13:02,430 --> 00:13:08,350 Pero iso é unha das cousas que unha vez que entendela, todo se fai tan 241 00:13:08,350 --> 00:13:09,190 moito máis clara. 242 00:13:09,190 --> 00:13:15,750 Polo tanto, non se desánimo co primeiro de vista o que se crea en primeiro lugar. 243 00:13:15,750 --> 00:13:18,430 >> Entón o que ocorre é o Rails crea todos os ficheiros. 244 00:13:18,430 --> 00:13:20,470 Así, un dos que se doc, documentación. 245 00:13:20,470 --> 00:13:23,080 Db, o que está relacionado coa base de datos. 246 00:13:23,080 --> 00:13:25,060 GD, que é rexistro bibliotecas. 247 00:13:25,060 --> 00:13:28,200 Pública, guión, e algunhas cousas. 248 00:13:28,200 --> 00:13:32,110 Practicamente todo o que vai se preocupar é sobre o cartafol de aplicacións, alí enriba. 249 00:13:32,110 --> 00:13:34,430 Esta é o cartafol que contén súa aplicación. 250 00:13:34,430 --> 00:13:35,540 Todos os outros arquivos - 251 00:13:35,540 --> 00:13:37,770 algúns deles son importantes, e está Vai aprender sobre iso máis tarde. 252 00:13:37,770 --> 00:13:42,040 Pero eles están aquí só para conter o cadro. 253 00:13:42,040 --> 00:13:46,420 Así, a primeira pedra angular da casa vostedes están construíndo, OK? 254 00:13:46,420 --> 00:13:47,730 >> Pero o cartafol app - 255 00:13:47,730 --> 00:13:49,630 iso é o que realmente importante. 256 00:13:49,630 --> 00:13:53,050 E o cartafol app ten activos. 257 00:13:53,050 --> 00:13:57,690 Activo é todo moi bonito que está por vir. 258 00:13:57,690 --> 00:14:01,890 Imaxes por exemplo, todo o que é estática que será descargado 259 00:14:01,890 --> 00:14:03,450 para a súa web. 260 00:14:03,450 --> 00:14:06,850 Así, imaxes, JavaScript, CSS - 261 00:14:06,850 --> 00:14:08,520 estes tipos de cousas son activos. 262 00:14:08,520 --> 00:14:11,310 263 00:14:11,310 --> 00:14:12,260 Controladores - 264 00:14:12,260 --> 00:14:15,190 imos falar máis sobre cales son os controladores, modelos, 265 00:14:15,190 --> 00:14:16,800 e campos nun segundo. 266 00:14:16,800 --> 00:14:20,760 E axudantes son funcións que pode utilizar todo o seu código 267 00:14:20,760 --> 00:14:22,800 para axudar a facer algo. 268 00:14:22,800 --> 00:14:25,800 Funcións como sesión, para exemplo - user.loggedin. 269 00:14:25,800 --> 00:14:29,500 Iso é unha función que probablemente ten que usar en todas as partes do seu 270 00:14:29,500 --> 00:14:30,030 aplicación. 271 00:14:30,030 --> 00:14:33,590 Así, pode pór algo así como que na súa axudante. 272 00:14:33,590 --> 00:14:34,370 >> Usuarios - 273 00:14:34,370 --> 00:14:41,480 iso é se está indo para enviar un correo electrónico para os usuarios, vostede 274 00:14:41,480 --> 00:14:43,420 Quere usar unha mala directa. 275 00:14:43,420 --> 00:14:46,420 E os modelos e puntos de vista, imos para falar sobre iso agora. 276 00:14:46,420 --> 00:14:52,450 Así, o controlador de vista do modelo, que é a pedra angular básico de Ruby on 277 00:14:52,450 --> 00:14:55,730 Rails, ea maioría dos encadramentos hoxe en día, para ser honesto. 278 00:14:55,730 --> 00:15:01,180 Entón, de novo, nós separamos todo o noso código en tres partes distintas. 279 00:15:01,180 --> 00:15:02,590 O modelo - 280 00:15:02,590 --> 00:15:04,620 o modelo é basicamente a base de datos. 281 00:15:04,620 --> 00:15:06,090 El trata sobre as cousas na base de datos. 282 00:15:06,090 --> 00:15:10,790 >> Así, cada táboa na base de datos ten un ficheiro correspondente dentro do modelo. 283 00:15:10,790 --> 00:15:13,330 Entón, é unha especie de mesa para os seus usuarios. 284 00:15:13,330 --> 00:15:18,250 Entón, está almacenando información como o nome de usuario, os seus correos electrónicos, o seu 285 00:15:18,250 --> 00:15:20,970 enderezo, o seu contrasinal, e cousas así. 286 00:15:20,970 --> 00:15:24,535 Vai ter un arquivo en o modelo chamado rb usuario - 287 00:15:24,535 --> 00:15:26,240 rb para Ruby. 288 00:15:26,240 --> 00:15:30,180 E alí vai ter todo dos métodos e das variables. 289 00:15:30,180 --> 00:15:34,130 As variables están indo para corresponden para o nome do usuario, correo electrónico, e 290 00:15:34,130 --> 00:15:35,370 todo. 291 00:15:35,370 --> 00:15:37,760 >> E vai ter os métodos. 292 00:15:37,760 --> 00:15:42,690 Isto vai ser algo ao respecto - 293 00:15:42,690 --> 00:15:46,400 está indo a xestionar esta información na base de datos. 294 00:15:46,400 --> 00:15:50,220 Para crear un modelo con Rails, acaba de usar Rails xerar. 295 00:15:50,220 --> 00:15:54,990 E para crear as cousas en Rails, vostede realmente precisa da terminal. 296 00:15:54,990 --> 00:15:58,770 Polo tanto, é un moi de terminal framework baseado. 297 00:15:58,770 --> 00:16:02,530 Acaba de entrar no terminal, e non Rails, xerar modelo. 298 00:16:02,530 --> 00:16:04,670 E o nome do modelo é usuario. 299 00:16:04,670 --> 00:16:10,270 E eu só quero ter dúas variables, dúas columnas, na miña mesa. 300 00:16:10,270 --> 00:16:11,450 Entón, iso é e-mail. 301 00:16:11,450 --> 00:16:13,080 E-mail é un tipo cadea. 302 00:16:13,080 --> 00:16:15,450 Contrasinal, o contrasinal é tamén un tipo cadea. 303 00:16:15,450 --> 00:16:16,520 Estas son as dúas únicas cousas. 304 00:16:16,520 --> 00:16:19,160 É unha especie de unha táboa de usuario simplista. 305 00:16:19,160 --> 00:16:22,490 Pero podería completamente poñer cen cousa está aí, se quixese. 306 00:16:22,490 --> 00:16:27,620 >> E Rails tamén fai moito, moi simple para ter todo 307 00:16:27,620 --> 00:16:30,040 tipos de relacións base de datos. 308 00:16:30,040 --> 00:16:36,100 Por iso, normalmente, cando ten táboas na súa base de datos, non son moi 309 00:16:36,100 --> 00:16:37,570 independentes unha da outra. 310 00:16:37,570 --> 00:16:39,392 Imos pensar. 311 00:16:39,392 --> 00:16:42,960 Quere mercar e vender produtos en liña. 312 00:16:42,960 --> 00:16:46,620 OK, entón tes un sitio onde quere mercar e vender produtos. 313 00:16:46,620 --> 00:16:55,060 Así, cada usuario ten moitos produtos que este usuario está disposto a vender. 314 00:16:55,060 --> 00:17:00,970 E cada usuario tamén ten moitas transaccións que están en curso, ou 315 00:17:00,970 --> 00:17:01,920 algo parecido. 316 00:17:01,920 --> 00:17:05,430 E as transaccións son con outro usuario. 317 00:17:05,430 --> 00:17:08,310 Cada transacción pertence para dous usuarios diferentes. 318 00:17:08,310 --> 00:17:10,560 O usuario que está a mercar e o usuario que está a ver. 319 00:17:10,560 --> 00:17:13,920 >> Entón eses son os chamados relacións de base de datos. 320 00:17:13,920 --> 00:17:17,890 E aquí temos exactamente esas palabras clave, ten moitas e pertenza. 321 00:17:17,890 --> 00:17:19,500 Esas son as máis importantes. 322 00:17:19,500 --> 00:17:22,410 E está indo só para dicir, por exemplo, este é o exemplo dun 323 00:17:22,410 --> 00:17:25,740 modelo en 2017 o sitio web da Harvard. 324 00:17:25,740 --> 00:17:28,820 Unha vez máis, os alumnos aquí - 325 00:17:28,820 --> 00:17:32,870 cada alumno na páxina web, estudante é un modelo, é unha táboa de base de datos. 326 00:17:32,870 --> 00:17:37,560 Cada alumno tiña moitos libros, porque podería dicir, cales son os seus favoritos 327 00:17:37,560 --> 00:17:38,630 libros, certo. 328 00:17:38,630 --> 00:17:44,450 Así, cada libro pertence a un estudante aquí. 329 00:17:44,450 --> 00:17:46,910 E atribúen accesible - 330 00:17:46,910 --> 00:17:49,580 que só está dicindo, os son as variables. 331 00:17:49,580 --> 00:17:53,050 Estas son as variables accesibles a partir deste modelo. 332 00:17:53,050 --> 00:17:58,570 E as variables son o autor o libro, descrición, xénero e 333 00:17:58,570 --> 00:17:59,870 Título do libro. 334 00:17:59,870 --> 00:18:02,700 Así, só a información acerca do libro. 335 00:18:02,700 --> 00:18:06,410 >> E aquí eu teño un método que simplemente ordena todo. 336 00:18:06,410 --> 00:18:10,710 Así, definir e termina aquí, que é só dicindo, aí ven o meu método. 337 00:18:10,710 --> 00:18:13,220 Self.sorted_all. 338 00:18:13,220 --> 00:18:16,390 Isto é só, dáme todo resolto, e é así que aplica 339 00:18:16,390 --> 00:18:22,360 o algoritmo de clasificación, que é moi fácil. 340 00:18:22,360 --> 00:18:27,430 Pero, basicamente, é así un modelo parece, Aceptar. 341 00:18:27,430 --> 00:18:32,990 Alguén ten dúbidas sobre esa cousa de base de datos? 342 00:18:32,990 --> 00:18:33,736 Relacións? 343 00:18:33,736 --> 00:18:36,430 Iso está claro? 344 00:18:36,430 --> 00:18:37,125 Si 345 00:18:37,125 --> 00:18:38,490 >> Audiencia: Pode facer o algoritmo de ordenación? 346 00:18:38,490 --> 00:18:41,960 >> GABRIEL GUIMARÃES: O algoritmo de ordenación, Aceptar. 347 00:18:41,960 --> 00:18:45,340 Cando se acostumar a sintaxe Ruby, iso se ve claro. 348 00:18:45,340 --> 00:18:48,800 Pero, basicamente, é elems Book.all. 349 00:18:48,800 --> 00:18:50,820 Entón libro é o nome do meu modelo. 350 00:18:50,820 --> 00:18:55,670 Cando se crea un modelo, el ven con todo tipo de métodos agradables para ti. 351 00:18:55,670 --> 00:18:58,810 Así dot.all é un método que retorna todos os libros. 352 00:18:58,810 --> 00:19:02,560 Pero atopar, por exemplo, estaba a buscar un libro e devolver o libro, ou 353 00:19:02,560 --> 00:19:03,840 algo parecido. 354 00:19:03,840 --> 00:19:05,990 E así elems é todo. 355 00:19:05,990 --> 00:19:08,870 E eu só digo elems.sort. 356 00:19:08,870 --> 00:19:11,300 Ordenar é unha función built-in Ruby. 357 00:19:11,300 --> 00:19:13,526 >> E, facer ab. 358 00:19:13,526 --> 00:19:15,940 Polo tanto, este non é outra vez - 359 00:19:15,940 --> 00:19:17,400 está indo a clasificar. 360 00:19:17,400 --> 00:19:19,850 Pero vai conseguir este argumento para min. 361 00:19:19,850 --> 00:19:25,160 E o argumento utiliza - este é un dos as cousas máis difíciles en Ruby, en realidade, 362 00:19:25,160 --> 00:19:26,920 facede isto cousa. 363 00:19:26,920 --> 00:19:31,470 Pero unha vez que entende todo vén moi, moi intuitiva. 364 00:19:31,470 --> 00:19:37,140 Así, o ab, este está dicindo que o sitio titulares que vou usar - como 365 00:19:37,140 --> 00:19:41,760 as variables que vou usar, son será chamado a e b. 366 00:19:41,760 --> 00:19:43,380 E estes son os libros. 367 00:19:43,380 --> 00:19:47,120 >> Entón, por mor especie necesita comparar elementos, recorda diso? 368 00:19:47,120 --> 00:19:49,760 Entón, cando resolver as cousas, comparar dous elementos. 369 00:19:49,760 --> 00:19:51,900 Eu vou dicir que cada vez está indo a comparar - 370 00:19:51,900 --> 00:19:54,350 polo que esta é, eu estou pasando para clasificar un argumento. 371 00:19:54,350 --> 00:19:59,370 E o argumento é todo de facer para e aquí, OK? 372 00:19:59,370 --> 00:20:02,980 E ese argumento, é só dicir tipo como comparar. 373 00:20:02,980 --> 00:20:07,460 Ordenar ía traballar aquí, pero sería comparar coa súa 374 00:20:07,460 --> 00:20:09,530 estándar comparando algoritmo. 375 00:20:09,530 --> 00:20:13,810 Quero-o para comparar dun xeito moi específica forma, ou sexa, cando o libro 376 00:20:13,810 --> 00:20:16,900 Foi creado, cando cada libro foi creado. 377 00:20:16,900 --> 00:20:21,090 >> Entón, eu estou dicindo, diga o nome do primeiro libro é un e outro nome 378 00:20:21,090 --> 00:20:27,620 segundo libro como b, quero clasificación para clasificar algo baseado en b.created_at esta 379 00:20:27,620 --> 00:20:30,000 símbolo estraño, a.created_at. 380 00:20:30,000 --> 00:20:34,350 E ese símbolo estraño é unha abreviación pois se un é maior que o 381 00:20:34,350 --> 00:20:35,380 outros, retorno 1. 382 00:20:35,380 --> 00:20:37,450 De ser igual ao outros, retorno cero. 383 00:20:37,450 --> 00:20:41,180 Se é menor que o outro, o retorno menos 1. 384 00:20:41,180 --> 00:20:43,435 Entón é iso que este símbolo estraño é. 385 00:20:43,435 --> 00:20:46,680 386 00:20:46,680 --> 00:20:47,500 >> Pero iso non é importante. 387 00:20:47,500 --> 00:20:52,780 Quero dicir, o que quero que vostedes chegar agora é a idea de que a base de datos - 388 00:20:52,780 --> 00:20:54,150 pode que o modelo de alí. 389 00:20:54,150 --> 00:20:59,850 Así que non se preocupe conectar e utilizar instrución SQL, 390 00:20:59,850 --> 00:21:00,500 e cousas así. 391 00:21:00,500 --> 00:21:04,920 Tamén pode crear portas a Inxección de SQL e todo 392 00:21:04,920 --> 00:21:06,460 tipo de problemas de seguridade. 393 00:21:06,460 --> 00:21:07,930 Neste caso, non preocupar con iso. 394 00:21:07,930 --> 00:21:11,880 Acaba de utilizar métodos como book.all. 395 00:21:11,880 --> 00:21:15,210 E que, no fondo, por suposto, está indo ao seu banco de datos, e é 396 00:21:15,210 --> 00:21:17,570 Vai usar unha instrución SQL para obter todos os libros. 397 00:21:17,570 --> 00:21:19,650 Pero non ten que preocupar con iso. 398 00:21:19,650 --> 00:21:24,090 Ese é o takeaway, OK? 399 00:21:24,090 --> 00:21:26,790 >> E cando ten unha declaración belongs_to así, o que significa que 400 00:21:26,790 --> 00:21:31,780 xa que ten un obxecto libro, pode ver o que é o seu alumno. 401 00:21:31,780 --> 00:21:34,130 Entón, cal alumno ten este libro? 402 00:21:34,130 --> 00:21:38,760 Así, podemos usar só book.student e que lle dá o que o alumno está. 403 00:21:38,760 --> 00:21:42,440 E iso é unha característica realmente ter. 404 00:21:42,440 --> 00:21:43,950 >> OK, agora a vista. 405 00:21:43,950 --> 00:21:48,380 Así, o modelo é o que interactúa con a base de datos, non? 406 00:21:48,380 --> 00:21:52,240 A vista é basicamente HTML, e CSS, e algún JavaScript. 407 00:21:52,240 --> 00:21:55,080 E iso é o que o usuario realmente ve. 408 00:21:55,080 --> 00:21:56,540 O usuario non vai ver o seu banco de datos. 409 00:21:56,540 --> 00:22:00,290 El vai ver algúns datos do base de datos incorporado no espectador. 410 00:22:00,290 --> 00:22:04,940 411 00:22:04,940 --> 00:22:08,410 Ruby on Rails fai realmente sinxelo de facer campos. 412 00:22:08,410 --> 00:22:12,780 En primeiro lugar, porque xa crea para ti, fóra da caixa, un esquema. 413 00:22:12,780 --> 00:22:16,200 >> A disposición é, basicamente, algo que - 414 00:22:16,200 --> 00:22:24,230 se todas as súas páxinas ten un logotipo na parte superior e, eu non sei, algún menú ou 415 00:22:24,230 --> 00:22:29,000 algo así, que todas as súas páxinas teñen en común, así que non facer 416 00:22:29,000 --> 00:22:34,830 que crear moitos, moitos, moitos HTML arquivos onde todos os ficheiros teñen que 417 00:22:34,830 --> 00:22:36,830 mesmo código HTML. 418 00:22:36,830 --> 00:22:40,700 Quero dicir que é mudo, porque está só repetindo código entre arquivos diferentes. 419 00:22:40,700 --> 00:22:42,480 Isto definitivamente non é unha boa visión. 420 00:22:42,480 --> 00:22:45,660 >> Entón Ruby on Rails crea este esquema para ti. 421 00:22:45,660 --> 00:22:49,770 E este é só dicir, as miñas páxinas van ter este HTML, esta cabeza 422 00:22:49,770 --> 00:22:54,805 Título aquí, e estes son estilo tag ligazón folla. 423 00:22:54,805 --> 00:22:56,800 Chama aquí todo o meu CSS. 424 00:22:56,800 --> 00:23:01,194 Chama aquí toda a miña JavaScript e algunhas etiquetas meta. 425 00:23:01,194 --> 00:23:04,440 Isto é só algo que facer automaticamente para ti. 426 00:23:04,440 --> 00:23:07,490 E, a continuación, acabar coa cabeza, agora aquí comeza o corpo. 427 00:23:07,490 --> 00:23:09,780 E agora esta é a miña contido real. 428 00:23:09,780 --> 00:23:16,620 Entón, se eu quería poñer algo así como un menú aquí, eu ía poñer-lo dereito sobre 429 00:23:16,620 --> 00:23:19,600 este lugar, ou algo parecido, de xeito que todas as miñas páxinas compartidas lo. 430 00:23:19,600 --> 00:23:21,730 Así, o esquema é compartida por todas as páxinas. 431 00:23:21,730 --> 00:23:26,500 >> Agora que o rendemento aquí só di, non importa o que as páxinas é dicir, só 432 00:23:26,500 --> 00:23:30,560 Póñase o contido desta páxina aquí, OK? 433 00:23:30,560 --> 00:23:33,770 E agora que é, por exemplo, o contido dunha páxina que vai ser 434 00:23:33,770 --> 00:23:38,950 conectados a esa declaración de renda automaticamente polo Rails. 435 00:23:38,950 --> 00:23:40,700 Pero este é un esquema compartido por todas as páxinas. 436 00:23:40,700 --> 00:23:42,500 E este é un exemplo dunha páxina. 437 00:23:42,500 --> 00:23:46,410 E esta é precisamente a páxina que lista todos os libros. 438 00:23:46,410 --> 00:23:49,390 Polo tanto, esta é unha táboa HTML básico enriba. 439 00:23:49,390 --> 00:23:53,730 Entón, list libros, un título, autor, descrición, xénero. 440 00:23:53,730 --> 00:24:00,810 >> E aquí usamos, unha vez máis, algúns Sintaxe Ruby, @ books.each-- 441 00:24:00,810 --> 00:24:07,720 @ Tipo de di que a variable é global nun sentido. 442 00:24:07,720 --> 00:24:10,940 Como esta variable foi de feito declarados no controlador que 443 00:24:10,940 --> 00:24:12,840 vai ver agora. 444 00:24:12,840 --> 00:24:18,570 Pero pode dar por feito que esta @ Libros é unha variable que é unha lista de 445 00:24:18,570 --> 00:24:20,000 todos os libros. 446 00:24:20,000 --> 00:24:24,580 Entón books.each, non, e de novo, este é só dicindo como quere nomear 447 00:24:24,580 --> 00:24:29,580 cada un dos iteradores para que non se preocupe un catro, int i 448 00:24:29,580 --> 00:24:30,630 bla, bla, bla. 449 00:24:30,630 --> 00:24:33,760 Acaba de tomar cada un dos elementos e usalos. 450 00:24:33,760 --> 00:24:38,890 >> Polo tanto, este é o libro, e despois é só imprimir aquí. book.title, book.author, 451 00:24:38,890 --> 00:24:41,020 book.description, e bla, bla, bla. 452 00:24:41,020 --> 00:24:42,940 E aquí está unha link_to. 453 00:24:42,940 --> 00:24:46,840 Entón link_to é só unha etiqueta ligazón que un usuario pode premer e 454 00:24:46,840 --> 00:24:49,040 vai a outro sitio. 455 00:24:49,040 --> 00:24:51,160 Link_to, amosar que o libro particular. 456 00:24:51,160 --> 00:24:56,480 Polo tanto, se o usuario está moi interesado en Neste libro, entón pode facer clic no concerto. 457 00:24:56,480 --> 00:24:59,350 Ou prema en editar, se quere para editar o libro. 458 00:24:59,350 --> 00:25:03,560 Ou destruír, se quere eliminar o libro a partir da base de datos. 459 00:25:03,560 --> 00:25:06,260 OK, iso ten sentido? 460 00:25:06,260 --> 00:25:08,610 Boa. 461 00:25:08,610 --> 00:25:10,600 >> Finalmente, o controlador. 462 00:25:10,600 --> 00:25:17,150 Entón, basicamente, o controlador é a interface entre o 463 00:25:17,150 --> 00:25:20,040 modelo ea vista. 464 00:25:20,040 --> 00:25:25,120 Así, o modelo é a parte do seu código que ten base de datos - 465 00:25:25,120 --> 00:25:27,620 cada táboa na base de datos ten un arquivo no seu 466 00:25:27,620 --> 00:25:30,120 modelo, e así por diante. 467 00:25:30,120 --> 00:25:34,890 E como o modelo e o punto de vista interactúan? 468 00:25:34,890 --> 00:25:36,990 Así, a través do controlador. 469 00:25:36,990 --> 00:25:43,620 O que un controlador fai é que é o modelo para algo como, por exemplo, 470 00:25:43,620 --> 00:25:46,510 poñer todo o libro dentro dunha variable. 471 00:25:46,510 --> 00:25:47,760 Como este, @ libros. 472 00:25:47,760 --> 00:25:50,200 473 00:25:50,200 --> 00:25:54,800 >> E ten que ser global, con esta a cousa, porque vai ser 474 00:25:54,800 --> 00:25:56,180 acceder polo punto de vista. 475 00:25:56,180 --> 00:26:00,000 El non vai ser usado dentro o propio controlador. 476 00:26:00,000 --> 00:26:03,160 E iso só retarda información que a visión vai usar. 477 00:26:03,160 --> 00:26:08,030 Por exemplo, o controlador verifica se o usuario está en liña. 478 00:26:08,030 --> 00:26:09,620 E como fai iso? 479 00:26:09,620 --> 00:26:11,760 El realmente pide o modelo xa que o modelo ten o 480 00:26:11,760 --> 00:26:12,890 información sobre o usuario. 481 00:26:12,890 --> 00:26:15,840 Ten unha mesa de usuarios, os libros mesa, outras táboas. 482 00:26:15,840 --> 00:26:18,560 Así, o controlador pregunta se o usuario está en liña. 483 00:26:18,560 --> 00:26:23,760 Se o usuario está en liña, o controlador trata sobre cousas como poñer unha cookie, 484 00:26:23,760 --> 00:26:28,120 ou algo así, para poñer o selo quere dicir que o usuario está en liña. 485 00:26:28,120 --> 00:26:29,930 Non hai necesidade de entrar de novo. 486 00:26:29,930 --> 00:26:34,080 >> E el vai cargar unha variable chamada usuario, por exemplo, que o 487 00:26:34,080 --> 00:26:35,130 vista pode usar. 488 00:26:35,130 --> 00:26:42,375 E a vista pode poñer algo aquí, por exemplo, Benvido user.name. 489 00:26:42,375 --> 00:26:46,040 Entón, vai dicir: Benvido Xoán, Benvido James - 490 00:26:46,040 --> 00:26:47,390 algo así, non? 491 00:26:47,390 --> 00:26:50,380 Entón, todas estas variables empregadas na vista será cargado no 492 00:26:50,380 --> 00:26:54,190 controlador e van ser tirado para arriba a partir do modelo. 493 00:26:54,190 --> 00:26:58,310 494 00:26:58,310 --> 00:27:00,555 >> Este é o exemplo dun controlador. 495 00:27:00,555 --> 00:27:03,140 496 00:27:03,140 --> 00:27:08,640 Polo tanto, temos, basicamente, cada un - 497 00:27:08,640 --> 00:27:10,010 chamamos estas accións as cousas. 498 00:27:10,010 --> 00:27:11,570 Así, o índice é unha acción. 499 00:27:11,570 --> 00:27:13,820 É unha función Ruby. 500 00:27:13,820 --> 00:27:16,160 É un método Ruby in alí. 501 00:27:16,160 --> 00:27:19,350 Pero para as chamadas de controladores estas accións cousas. 502 00:27:19,350 --> 00:27:24,830 E cada acción está relacionada a unha ruta. 503 00:27:24,830 --> 00:27:29,350 Entón aquí esta ruta, por exemplo, é unha instrución Get / books. 504 00:27:29,350 --> 00:27:37,500 Entón, se vai a harvard2017.com/books, o que vai ocorrer é ese código é 505 00:27:37,500 --> 00:27:40,630 será chamado. 506 00:27:40,630 --> 00:27:44,290 >> E non hai un ficheiro - 507 00:27:44,290 --> 00:27:46,010 déixeme abrir este rapidamente. 508 00:27:46,010 --> 00:27:51,310 509 00:27:51,310 --> 00:27:55,386 Hai un ficheiro chamado ficheiro raw. 510 00:27:55,386 --> 00:27:57,920 Non está abrindo. 511 00:27:57,920 --> 00:28:02,330 Polo tanto, hai un ficheiro chamado ficheiro raw que basicamente corresponde - 512 00:28:02,330 --> 00:28:03,580 Oh, agora está abrindo. 513 00:28:03,580 --> 00:28:15,900 514 00:28:15,900 --> 00:28:17,550 Aquí, rutas. 515 00:28:17,550 --> 00:28:24,440 Entón, basicamente, corresponde a unha tensión, activación / new por exemplo, para 516 00:28:24,440 --> 00:28:27,810 algo no controlador. 517 00:28:27,810 --> 00:28:31,580 Entón hai ese controlador chamado controlador de activación, pero aquí, 518 00:28:31,580 --> 00:28:32,790 temos os libros, por exemplo. 519 00:28:32,790 --> 00:28:33,740 Así, corresponde - 520 00:28:33,740 --> 00:28:39,040 Libros / novo, para o controlador libros, a acción nova. 521 00:28:39,040 --> 00:28:41,290 Entón, basicamente, moi simple cousas. 522 00:28:41,290 --> 00:28:43,970 523 00:28:43,970 --> 00:28:48,770 >> E aquí, se tivese que estar / libros, reducir o ID dos libros, barra nova, 524 00:28:48,770 --> 00:28:53,250 está indo a ir a ese Método Rubi alí en baixo. 525 00:28:53,250 --> 00:28:58,210 Entón, aquí, que ese índice está facendo é só premer rexistro book. 526 00:28:58,210 --> 00:28:59,570 Isto é algo que - 527 00:28:59,570 --> 00:29:02,160 Eu rexistro todos os libros nun rexistro. 528 00:29:02,160 --> 00:29:03,050 E resolver todo. 529 00:29:03,050 --> 00:29:05,870 Entón, iso vai volver todos os libros ordenados. 530 00:29:05,870 --> 00:29:07,940 É dicir, de novo, na base de datos. 531 00:29:07,940 --> 00:29:09,570 Polo tanto, este é un método de o modelo. 532 00:29:09,570 --> 00:29:12,440 Viu a rede pode creados no modelo. 533 00:29:12,440 --> 00:29:16,170 Agora, esta é só cargar todos os libros e poñer isto nunha variable que 534 00:29:16,170 --> 00:29:17,490 se pode ver pola visión. 535 00:29:17,490 --> 00:29:20,680 >> Porque non pode, no medio da o seu código HTML, non pode chamar 536 00:29:20,680 --> 00:29:23,940 algo directamente do modelo, porque, por dúas razóns. 537 00:29:23,940 --> 00:29:28,260 En primeiro lugar, por razóns de seguridade, xa que non é realmente interesante para ser 538 00:29:28,260 --> 00:29:32,920 Cargando información directamente dentro cada HTML que está na base de datos. 539 00:29:32,920 --> 00:29:36,030 E segundo, para manter a súa código realmente organizado. 540 00:29:36,030 --> 00:29:38,800 Así, separar exactamente o distintas partes. 541 00:29:38,800 --> 00:29:42,830 Así BookLog.sorted_all, é dicir o base de datos e iso vai poñer en 542 00:29:42,830 --> 00:29:44,290 unha variable @ libros. 543 00:29:44,290 --> 00:29:47,695 E agora esta variable é accesible dentro do seu código HTML. 544 00:29:47,695 --> 00:29:54,610 Así, pode simplemente poñer todos os libros alí só como fixemos, aquí. 545 00:29:54,610 --> 00:29:57,760 Esta é a variable. 546 00:29:57,760 --> 00:30:04,730 >> E visitas respond_to facer | formato |, esta é só unha especie de sintaxe Ruby para 547 00:30:04,730 --> 00:30:08,140 se o usuario está me pedindo Código HTML, eu vou 548 00:30:08,140 --> 00:30:09,340 responder con código HTML. 549 00:30:09,340 --> 00:30:15,500 O usuario pregunta-me con código JSON, que é algo que as aplicacións web empregan 550 00:30:15,500 --> 00:30:20,780 para comunicarse entre si, eles xeralmente usan JSON ou algunha outra 551 00:30:20,780 --> 00:30:23,120 tipo de cousas. 552 00:30:23,120 --> 00:30:25,850 El só responde a usar os dous formatos diferentes. 553 00:30:25,850 --> 00:30:31,720 Pero para un usuario normal, este non precisaría estar aquí. 554 00:30:31,720 --> 00:30:34,060 Só ía responder con HTML, e iso é bo. 555 00:30:34,060 --> 00:30:36,220 Entón, realmente non se preocupe que moito sobre iso. 556 00:30:36,220 --> 00:30:39,510 Esta é a única liña de código na nosa control, como é a carga do HTML 557 00:30:39,510 --> 00:30:42,630 base de datos, poñendo en algo que é accesible por a vista. 558 00:30:42,630 --> 00:30:49,870 >> E, a continuación, novo, entón aquí Estou creando libros. 559 00:30:49,870 --> 00:30:55,490 Pero para crear libros, eu teño un estudante porque eu teño que saber o alumno 560 00:30:55,490 --> 00:30:58,490 cuxos libros este pertence, certo. 561 00:30:58,490 --> 00:31:00,780 Entón @ alumno = Alumno. 562 00:31:00,780 --> 00:31:06,500 Student, unha vez máis, estamos comezando con un gran S é o alumno modelo. 563 00:31:06,500 --> 00:31:09,380 OK, entón iso é o alumno modelo, este é o rexistro do libro modelo. 564 00:31:09,380 --> 00:31:15,150 Student.find, polo que estou indo para atopar unha alumno a través da identificación de parámetros. 565 00:31:15,150 --> 00:31:19,160 params.id, iso é só incorporarse o valor me deste ID que foi pasado - 566 00:31:19,160 --> 00:31:23,410 ea URL. 567 00:31:23,410 --> 00:31:25,440 >> Só tes que ir a buscar aquel alumno. 568 00:31:25,440 --> 00:31:28,420 E en primeiro lugar, imos comprobar O alumno ten algúns temas 569 00:31:28,420 --> 00:31:29,910 e bla, bla, bla. 570 00:31:29,910 --> 00:31:35,570 E este xa manexa o caso en que o estudante 571 00:31:35,570 --> 00:31:38,340 Non hai, por exemplo. 572 00:31:38,340 --> 00:31:44,450 E, a continuación, outra cousa, nós só responder para o mesmo usando HTML. 573 00:31:44,450 --> 00:31:47,570 E entón podemos permitir que o usuario crear as súas cancións. 574 00:31:47,570 --> 00:31:49,320 Entón, iso é novo. 575 00:31:49,320 --> 00:31:52,580 Novo é xeralmente usado para, imos o usuario crear algo. 576 00:31:52,580 --> 00:31:56,440 E despois hai a acción de crear que xeralmente se usa para - 577 00:31:56,440 --> 00:31:59,040 realmente poñer as cancións na base de datos ou algo parecido. 578 00:31:59,040 --> 00:32:01,770 Pero unha vez que comezar a usar Rails, esas cousas van ser 579 00:32:01,770 --> 00:32:05,110 moito, moito máis clara. 580 00:32:05,110 --> 00:32:07,910 OK, arrefriar. 581 00:32:07,910 --> 00:32:09,715 Todas as preguntas ata agora? 582 00:32:09,715 --> 00:32:15,240 Será que ten sentido cos controladores, modelos, campos - 583 00:32:15,240 --> 00:32:17,860 É mesmo? 584 00:32:17,860 --> 00:32:20,980 >> Unha vez máis na súa aplicación Rails - 585 00:32:20,980 --> 00:32:24,700 entón todo iso se pode atopar aquí. 586 00:32:24,700 --> 00:32:30,430 Entón tes aplicación, os controladores, os son todos os meus controladores. 587 00:32:30,430 --> 00:32:32,880 Así, por exemplo, libros de controlar. 588 00:32:32,880 --> 00:32:35,490 Isto é o que nós acabamos de ver. 589 00:32:35,490 --> 00:32:36,400 E entón vistas. 590 00:32:36,400 --> 00:32:39,750 E cada controlador ten unha visión asociada, non? 591 00:32:39,750 --> 00:32:43,750 Entón automaticamente cando chama iso índice aquí, por exemplo, ou cando 592 00:32:43,750 --> 00:32:49,930 chamar iso de libros novos, entón o punto de vista, libros, novo vai ser chamado. 593 00:32:49,930 --> 00:32:53,300 >> Entón Rails fai todo automaticamente para ti. 594 00:32:53,300 --> 00:32:59,420 Así, cada controlador ten unha asociada e ver todos os modelos - 595 00:32:59,420 --> 00:33:01,970 aquí eu teño un, dous, tres, catro, cinco modelos. 596 00:33:01,970 --> 00:33:05,800 Pero este é un modelo de estudante, para os son as variables que todo o 597 00:33:05,800 --> 00:33:08,620 alumnos teñen - localización, data de nacemento. 598 00:33:08,620 --> 00:33:11,270 Os alumnos é algo máis complicado, xa que cada alumno ten 599 00:33:11,270 --> 00:33:15,400 máis método diferente asociado a el. 600 00:33:15,400 --> 00:33:18,770 Pero este é só xestionar o táboa que tiña todo o 601 00:33:18,770 --> 00:33:21,980 alumnos na base de datos. 602 00:33:21,980 --> 00:33:24,300 >> E, OK, a instalación de Rails. 603 00:33:24,300 --> 00:33:27,710 Instalar o Rails, para ser honesto, non é a cousa máis simple. 604 00:33:27,710 --> 00:33:32,980 Pero unha vez que pasar por todo, é moi, moi fácil. 605 00:33:32,980 --> 00:33:38,810 Así, a instalación Rails, é só ir ao web, rubyandrails.org / Descargar 606 00:33:38,810 --> 00:33:41,510 e seguir as súas instrucións. 607 00:33:41,510 --> 00:33:42,700 Descargar todo. 608 00:33:42,700 --> 00:33:46,600 E pode facelo tamén en Appliance, no CS50 Appliance, en 609 00:33:46,600 --> 00:33:51,120 Fiestras, en Mac, ou calquera operación sistema da súa elección. 610 00:33:51,120 --> 00:33:52,460 Ruby on Rails é executado en todo. 611 00:33:52,460 --> 00:33:56,680 >> As probabilidades son que xa instalou o Ruby se ten un Mac ou - 612 00:33:56,680 --> 00:33:58,130 nos aparellos Creo que Ruby é - 613 00:33:58,130 --> 00:34:00,940 Non estou seguro. 614 00:34:00,940 --> 00:34:02,440 E entón só ten este software instalado. 615 00:34:02,440 --> 00:34:07,190 E se queres crear un novo aplicación web, só 616 00:34:07,190 --> 00:34:10,270 facer Rails, novo, do blog. 617 00:34:10,270 --> 00:34:12,429 Rails, novos - 618 00:34:12,429 --> 00:34:13,310 Eu non sei - 619 00:34:13,310 --> 00:34:15,050 o nome do seu sitio. 620 00:34:15,050 --> 00:34:16,380 E é tan sinxelo. 621 00:34:16,380 --> 00:34:19,060 >> Vai crear a todos aqueles arquivos que acaba de amosar. 622 00:34:19,060 --> 00:34:22,730 Pero o modelo, a vista, ea controlador non van ser 623 00:34:22,730 --> 00:34:24,330 poboada aínda. 624 00:34:24,330 --> 00:34:28,710 Só vai ter que ir alí e cubrir esas tres cartafoles. 625 00:34:28,710 --> 00:34:32,840 Así, as probabilidades son, quere crear un modelo, por exemplo, aplicar un 626 00:34:32,840 --> 00:34:33,780 primeiro modelo. 627 00:34:33,780 --> 00:34:40,440 Entón, de novo, sempre intentando morder menor bits dun problema de cada vez. 628 00:34:40,440 --> 00:34:42,659 >> E entón, imos dicir, crear un modelo para os seus usuarios. 629 00:34:42,659 --> 00:34:44,370 Esta é o primeiro se ten usuarios. 630 00:34:44,370 --> 00:34:48,440 Entón, quero crear un modelo así como nós amosamos aquí. 631 00:34:48,440 --> 00:34:58,470 Rails, xerar, modelo, o usuario, logo correos electrónicos cadea - temos isto aquí. 632 00:34:58,470 --> 00:35:01,200 E xustamente crear este modelo, si. 633 00:35:01,200 --> 00:35:05,030 Rails xerar modelo de correo-e do usuario: cadea contrasinal: cadea. 634 00:35:05,030 --> 00:35:09,650 >> E entón crea un controlador que trata sobre o usuario. 635 00:35:09,650 --> 00:35:12,790 E pode crear novos usuarios e facer eses tipos de cousas. 636 00:35:12,790 --> 00:35:18,280 E entón pode pasar á creación o resto do seu sitio. 637 00:35:18,280 --> 00:35:22,470 Cool, preguntas? 638 00:35:22,470 --> 00:35:23,230 Si 639 00:35:23,230 --> 00:35:24,480 >> Audiencia: [inaudível] 640 00:35:24,480 --> 00:35:27,430 641 00:35:27,430 --> 00:35:29,910 >> GABRIEL GUIMARÃES: Si, si, sempre ten que ir á vista. 642 00:35:29,910 --> 00:35:31,290 Esta é unha pregunta moi boa. 643 00:35:31,290 --> 00:35:36,410 Así, a visión é o que realmente contén o HTML. 644 00:35:36,410 --> 00:35:39,240 Por iso, é o que os usuarios imos ver. 645 00:35:39,240 --> 00:35:46,690 De novo, aquí, esta é unha exemplo dun punto de vista. 646 00:35:46,690 --> 00:35:52,040 Ten código HTML e Ruby de código, á vez. 647 00:35:52,040 --> 00:35:56,010 Así, o código Ruby está aí para poñer as cousas a partir da base de datos, por exemplo, 648 00:35:56,010 --> 00:35:59,150 que foron cargados no controlador. 649 00:35:59,150 --> 00:36:04,240 Así que a variable @ libros, por exemplo, ten todos os libros ea táboa 650 00:36:04,240 --> 00:36:05,340 libros na base de datos. 651 00:36:05,340 --> 00:36:08,680 Ten por seguro de que tiña no controlador. 652 00:36:08,680 --> 00:36:10,250 >> E a vista - 653 00:36:10,250 --> 00:36:15,900 cada unha das páxinas do seu sitio é Vai ter unha visión asociada. 654 00:36:15,900 --> 00:36:21,762 Entón, se ir á páxina de inicio, a primeira páxina, harvard2017.com. 655 00:36:21,762 --> 00:36:23,490 Isto amosa unha páxina. 656 00:36:23,490 --> 00:36:26,760 E entón vai cortar perfil. 657 00:36:26,760 --> 00:36:30,150 Isto está indo a ir a un controlador que é un controlador de perfil. 658 00:36:30,150 --> 00:36:34,620 E o controlador perfil vai para darlle a vista de perfil. 659 00:36:34,620 --> 00:36:37,590 E a vista de perfil se ve algo como iso, pero só pode 660 00:36:37,590 --> 00:36:41,910 ter información sobre o usuario, e non sobre os libros. 661 00:36:41,910 --> 00:36:46,840 >> Polo tanto, é de código HTML e CSS e aqueles cousas que un usuario ve 662 00:36:46,840 --> 00:36:49,680 co código Ruby - 663 00:36:49,680 --> 00:36:52,505 que realmente imprime cousas a partir da base de datos. 664 00:36:52,505 --> 00:36:54,520 Isto é máis claro? 665 00:36:54,520 --> 00:36:55,080 Espero. 666 00:36:55,080 --> 00:36:58,066 >> Audiencia: O código HTML utilízase para realmente facer o sitio web que o 667 00:36:58,066 --> 00:37:02,470 usuario ve, pero o código Ruby é o que fai o traballo web? 668 00:37:02,470 --> 00:37:06,500 >> GABRIEL Guimarães: O código Ruby se converter en HTML. 669 00:37:06,500 --> 00:37:09,420 Entón, o que o usuario recibe é só HTML, OK? 670 00:37:09,420 --> 00:37:10,900 É só HTML. 671 00:37:10,900 --> 00:37:18,740 Este book.title vai converterse ao o valor de book.title en HTML, Aceptar. 672 00:37:18,740 --> 00:37:23,080 Entón iso é todo o servidor, e así por iso depende do que os libros están aí 673 00:37:23,080 --> 00:37:24,410 no servidor no momento. 674 00:37:24,410 --> 00:37:32,930 Pero o que o servidor faría inmediatamente sentido é só o código HTML, Aceptar. 675 00:37:32,930 --> 00:37:36,720 >> Pero a visión só dá o esquema o que o HTML foi indo ollar como 676 00:37:36,720 --> 00:37:39,530 e que as variables van ser. 677 00:37:39,530 --> 00:37:42,170 Este tipo de saída de impresión, Aceptar. 678 00:37:42,170 --> 00:37:44,360 Esas cousas hai basicamente imprimir outs. 679 00:37:44,360 --> 00:37:47,430 Eles están indo para imprimir variables, Aceptar. 680 00:37:47,430 --> 00:37:49,850 Entón, o que é máis que HTML, os - 681 00:37:49,850 --> 00:37:51,390 autor, título, descrición. 682 00:37:51,390 --> 00:37:53,540 Isto é contido estático. 683 00:37:53,540 --> 00:37:54,520 Iso non vai cambiar. 684 00:37:54,520 --> 00:37:56,700 Isto é código HTML simplemente. 685 00:37:56,700 --> 00:37:59,080 Estas son as impresións para as variables - 686 00:37:59,080 --> 00:38:00,330 cousas que dependen. 687 00:38:00,330 --> 00:38:02,350 688 00:38:02,350 --> 00:38:03,600 Cool, máis preguntas? 689 00:38:03,600 --> 00:38:12,120 690 00:38:12,120 --> 00:38:12,600 Bo? 691 00:38:12,600 --> 00:38:13,080 Si 692 00:38:13,080 --> 00:38:15,720 >> Audiencia: Coido que estaba facendo todo a edición dun texto diferente 693 00:38:15,720 --> 00:38:16,920 programa de edición. 694 00:38:16,920 --> 00:38:19,520 Debemos tamén descargar que? 695 00:38:19,520 --> 00:38:24,250 >> GABRIEL Guimarães: Si, eu gusto diso editor de texto chamado TextMate. 696 00:38:24,250 --> 00:38:24,990 E é moi bo. 697 00:38:24,990 --> 00:38:26,980 É ben axeitado para Ruby. 698 00:38:26,980 --> 00:38:29,270 El cores cousas moi ordenadamente. 699 00:38:29,270 --> 00:38:34,770 Entón, TextMate, T-E-X-T. Vou poñer iso, espera - 700 00:38:34,770 --> 00:38:42,880 701 00:38:42,880 --> 00:38:45,720 >> Quere dicir que pode usar o Gedit ou calquera cousa que sexa. 702 00:38:45,720 --> 00:38:49,970 Pero este é específico para Mac, e iso é moi legal porque pon todo 703 00:38:49,970 --> 00:38:51,000 os seus arquivos alí en baixo. 704 00:38:51,000 --> 00:38:53,620 E en Ruby on Rails, ten que para intercambiar arquivos moito. 705 00:38:53,620 --> 00:38:55,890 Por iso, é moitos, moitos arquivos só ir dun ficheiro, pule para 706 00:38:55,890 --> 00:38:57,120 un ficheiro ou outro. 707 00:38:57,120 --> 00:39:02,000 Entón TextMate é moi bo, pero hai moitos por aí. 708 00:39:02,000 --> 00:39:03,250 Máis preguntas? 709 00:39:03,250 --> 00:39:08,680 710 00:39:08,680 --> 00:39:09,870 OK, non é? 711 00:39:09,870 --> 00:39:12,825 >> Audiencia: Existe un desenvolvemento móbil mediante Ruby on Rails? 712 00:39:12,825 --> 00:39:15,640 713 00:39:15,640 --> 00:39:17,050 >> GABRIEL GUIMARÃES: Teño escoitou falar de cousas. 714 00:39:17,050 --> 00:39:19,550 Eu non usei eles. 715 00:39:19,550 --> 00:39:21,570 Podes buscar máis sobre iso. 716 00:39:21,570 --> 00:39:24,740 Eu non estou seguro se hai algunha cousa boa por aí. 717 00:39:24,740 --> 00:39:29,980 718 00:39:29,980 --> 00:39:31,030 OK, non é? 719 00:39:31,030 --> 00:39:32,280 >> Audiencia: [inaudível] 720 00:39:32,280 --> 00:39:38,340 721 00:39:38,340 --> 00:39:40,550 >> GABRIEL Guimarães: Non Rails, probablemente variedade Ruby. 722 00:39:40,550 --> 00:39:44,270 723 00:39:44,270 --> 00:39:49,080 Abre unha xanela de terminal e tipo, "Ruby". 724 00:39:49,080 --> 00:39:52,030 Si, probablemente, e entón Só ten que instalar Rails. 725 00:39:52,030 --> 00:39:57,050 Pero se está indo a instalar a nova Rails 4.0, que eu recomendo, 726 00:39:57,050 --> 00:40:02,870 ten que baixar o Ruby 2.0. 727 00:40:02,870 --> 00:40:04,530 Ese é o novo tamén. 728 00:40:04,530 --> 00:40:09,530 E os novos Rails 4.0 ten algo moi legal que 729 00:40:09,530 --> 00:40:11,260 fai para os activos. 730 00:40:11,260 --> 00:40:12,810 El trata sobre os activos. 731 00:40:12,810 --> 00:40:18,860 Activos de novo son imaxes, arquivos CSS, e arquivos JavaScript. 732 00:40:18,860 --> 00:40:24,060 Entón, unha cousa moi legal que Ruby on O Rails para vostede é todos aqueles CSS 733 00:40:24,060 --> 00:40:26,980 arquivos que ten e todo - 734 00:40:26,980 --> 00:40:32,420 el simplemente embalaxe todo para arriba nun enorme arquivo, sen espazos ou calquera cousa, 735 00:40:32,420 --> 00:40:40,120 para minimizar o tempo que o usuario ten descargar o código do teu servidor. 736 00:40:40,120 --> 00:40:47,780 >> Entón, cando ve no seu ordenador, é terá uns 15 arquivos CSS. 737 00:40:47,780 --> 00:40:49,520 Ou moitos, moitos arquivos CSS diferentes. 738 00:40:49,520 --> 00:40:54,890 Con todo, ao final do día, o que Carrís automaticamente fai para vostede é que pon 739 00:40:54,890 --> 00:41:00,760 todo xunto nun arquivo enorme de xeito que minimiza o tempo solicitude. 740 00:41:00,760 --> 00:41:02,630 Iso é moi legal. 741 00:41:02,630 --> 00:41:02,940 Si? 742 00:41:02,940 --> 00:41:04,190 >> Audiencia: [inaudível] 743 00:41:04,190 --> 00:41:13,910 744 00:41:13,910 --> 00:41:14,440 >> GABRIEL Guimarães: Exactamente. 745 00:41:14,440 --> 00:41:16,230 Así, a integración de Google. 746 00:41:16,230 --> 00:41:20,200 Esta é unha API JavaScript de Google. 747 00:41:20,200 --> 00:41:23,750 Entón, eu só fun ao sitio web de Google. 748 00:41:23,750 --> 00:41:29,950 Teñen esa API de Google Maps e eu descarga do código e integrouse 749 00:41:29,950 --> 00:41:31,610 no meu punto de vista. 750 00:41:31,610 --> 00:41:35,490 Entón, o que eu precisaba facer alí é que eu precisaba para obter o 751 00:41:35,490 --> 00:41:37,310 locais da base de datos. 752 00:41:37,310 --> 00:41:38,990 Iso foi feito no controlador. 753 00:41:38,990 --> 00:41:40,950 Entón eu fun para o controlador - 754 00:41:40,950 --> 00:41:42,350 onde está o controlador. 755 00:41:42,350 --> 00:41:44,330 O controlador quedou así. 756 00:41:44,330 --> 00:41:48,660 Teño todos os lugares do alumnos, poñer todo isto en un gran 757 00:41:48,660 --> 00:41:52,060 variable, unha lista grande, que ten todos os lugares. 758 00:41:52,060 --> 00:41:55,340 >> E o punto de vista, xa que o JavaScript API é algo no 759 00:41:55,340 --> 00:41:55,800 ver, non? 760 00:41:55,800 --> 00:42:00,440 Porque JavaScript execútase dentro do seu HTML código, que será enviado a 761 00:42:00,440 --> 00:42:01,710 máquina do usuario. 762 00:42:01,710 --> 00:42:09,310 E o punto de vista, eu cargueime todo isto información para o API de Google. 763 00:42:09,310 --> 00:42:12,080 E fixo todo isto para me, o que é moi legal. 764 00:42:12,080 --> 00:42:16,240 Pero se quere usar as cousas no back-end, e é como unha biblioteca, para 765 00:42:16,240 --> 00:42:18,720 exemplo, unha vez máis - 766 00:42:18,720 --> 00:42:20,140 a integración con Facebook. 767 00:42:20,140 --> 00:42:24,060 Isto é algo que moitos, moitos, moitas aplicacións están utilizando hoxe en día. 768 00:42:24,060 --> 00:42:27,300 >> Entón, ten a súa integración con Facebook porque é moito máis doado de só 769 00:42:27,300 --> 00:42:30,450 Entrar con Facebook que para crear unha conta e bla, bla, bla. 770 00:42:30,450 --> 00:42:35,120 Entón acaba de usar unha xoia e é tan sinxelo como ir ao seu arquivo de xoia. 771 00:42:35,120 --> 00:42:39,350 Gem ficheiro é un ficheiro chamado ficheiro de xoia en o directorio de orixe do seu Ruby on 772 00:42:39,350 --> 00:42:40,370 Rails proxecto. 773 00:42:40,370 --> 00:42:43,700 Só tes que ir alí e engadir nova xoia. 774 00:42:43,700 --> 00:42:45,300 E buscar en Google. 775 00:42:45,300 --> 00:42:46,520 Hai moitas, moitas, moitas pedras preciosas. 776 00:42:46,520 --> 00:42:51,070 Hai un que especificamente fai esta para a integración de Facebook. 777 00:42:51,070 --> 00:42:54,660 Eu non estou seguro cal é o seu nome. 778 00:42:54,660 --> 00:42:56,680 Só Google e está Vai atopalo. 779 00:42:56,680 --> 00:42:57,930 OK, máis preguntas? 780 00:42:57,930 --> 00:43:01,110 781 00:43:01,110 --> 00:43:03,280 Impresionante, moitas grazas por teren benvida. 782 00:43:03,280 --> 00:43:09,227