1 00:00:00,000 --> 00:00:08,560 2 00:00:08,560 --> 00:00:10,410 >> GABRIEL GUIMARAES: C'est CS50. 3 00:00:10,410 --> 00:00:14,740 Bienvenue à étonnants Web Apps avec Ruby on Rails. 4 00:00:14,740 --> 00:00:19,700 Donc, pour toute personne intéressée dans le Web sites de développement et de décision, web 5 00:00:19,700 --> 00:00:26,510 applications, Ruby on Rails est ce outil extraordinaire que Twitter, GitHub, 6 00:00:26,510 --> 00:00:31,470 Groupon, et toutes sortes de vraiment sympa, et grand, les applications Web utilisent dans 7 00:00:31,470 --> 00:00:33,080 Ces dernières années. 8 00:00:33,080 --> 00:00:37,190 Et c'est vraiment, vraiment cool fonction, un outil cool, 9 00:00:37,190 --> 00:00:39,290 parce que c'est nouveau. 10 00:00:39,290 --> 00:00:43,830 Ainsi, il a tout de la nouvelle et puissante technologies incorporées dans un 11 00:00:43,830 --> 00:00:49,050 cadre qui vous aide à composer avec toutes sortes de choses étonnantes. 12 00:00:49,050 --> 00:00:50,970 >> Mais qu'est-ce qu'un cadre? 13 00:00:50,970 --> 00:00:55,700 Ainsi, un cadre est essentiellement ce qui crée - 14 00:00:55,700 --> 00:00:59,680 lorsque vous démarrez un site Web, si vous avez commencé à partir de zéro, comme vous ouvrez 15 00:00:59,680 --> 00:01:04,530 gEdit là, et que vous souhaitez coder tous de votre code HTML et le code tout votre 16 00:01:04,530 --> 00:01:08,130 PHP, l'ensemble de votre CSS, tout à partir de zéro - 17 00:01:08,130 --> 00:01:09,690 c'est juste va être beaucoup de travail. 18 00:01:09,690 --> 00:01:13,940 Et un cadre vous donne littéralement la moitié du site déjà fait. 19 00:01:13,940 --> 00:01:18,070 Donc, vous commencez avec une demi-site qui a tout là pour vous. 20 00:01:18,070 --> 00:01:22,690 Comme les connexions de base de données, et tout sortes de choses que vous avez à vous soucier 21 00:01:22,690 --> 00:01:25,040 sur si vous le faites à partir de zéro, vous n'avez pas à vous soucier de ceux qui 22 00:01:25,040 --> 00:01:26,480 détails de bas niveau. 23 00:01:26,480 --> 00:01:32,360 >> Mais aujourd'hui, nous allons exporter l'un des les sites que l'étudiant de première année de la 24 00:01:32,360 --> 00:01:34,740 classe de 2017 sont probablement familier. 25 00:01:34,740 --> 00:01:40,170 Alors ce site est le site que je fait pour notre classe pendant l'été. 26 00:01:40,170 --> 00:01:46,500 C'était un site Web où les étudiants de la classe de 2017 pourrait identifier et 27 00:01:46,500 --> 00:01:47,480 interagir les uns avec les autres. 28 00:01:47,480 --> 00:01:49,610 Et puis c'est une carte - 29 00:01:49,610 --> 00:01:51,210 tout le monde, où les gens sont. 30 00:01:51,210 --> 00:01:56,970 Et nous avons eu un jeu de livre, un jeu de chansons où nous avons vu les chansons des gens et 31 00:01:56,970 --> 00:01:57,970 les livres des gens. 32 00:01:57,970 --> 00:02:00,480 Qu'est-ce qu'ils aiment lire, ce ils aiment à écouter. 33 00:02:00,480 --> 00:02:06,830 Et la partie la plus intéressante de il est qu'il m'a littéralement pris trois heures 34 00:02:06,830 --> 00:02:07,840 pour coder tout cela. 35 00:02:07,840 --> 00:02:13,050 Parce que si je devais tout faire à partir de de zéro, comme l'ouverture de gedit, il 36 00:02:13,050 --> 00:02:16,400 aurait probablement pris me 20, 30 heures. 37 00:02:16,400 --> 00:02:20,210 Mais avec Ruby on Rails, car tout a déjà été mis en place pour moi, 38 00:02:20,210 --> 00:02:25,550 il ne m'a fallu que trois ou quatre heures, ou quelque chose comme ça. 39 00:02:25,550 --> 00:02:27,580 >> Alors, quelle est Ruby on Rails. 40 00:02:27,580 --> 00:02:32,720 Ruby on Rails, à nouveau comme nous l'avons déjà dit, est un cadre. 41 00:02:32,720 --> 00:02:34,800 Ceci est une photo d'un cadre. 42 00:02:34,800 --> 00:02:37,460 Donc, vous allez commencer à construire une maison, vous avez déjà la moitié de la 43 00:02:37,460 --> 00:02:38,320 maison fait. 44 00:02:38,320 --> 00:02:38,970 C'est le cadre. 45 00:02:38,970 --> 00:02:40,560 Et Ruby on Rails est exactement comme cela. 46 00:02:40,560 --> 00:02:44,440 Et vous devriez penser que c'est, vous commencez un site Web, vous commencez votre site 47 00:02:44,440 --> 00:02:48,830 demande, nous avons déjà la moitié de l'y faire. 48 00:02:48,830 --> 00:02:50,400 Mais d'abord, qu'est-ce que Ruby? 49 00:02:50,400 --> 00:02:53,510 50 00:02:53,510 --> 00:02:58,310 Ruby on Rails utilise la vue du modèle contrôleur, qui est paradigme, qui 51 00:02:58,310 --> 00:02:59,930 est un très intéressant - 52 00:02:59,930 --> 00:03:04,250 et toutes les applications de nos jours utiliser quelque chose comme ça. 53 00:03:04,250 --> 00:03:08,630 Cette idée de séparer les choses en trois parties, le modèle, la vue, et 54 00:03:08,630 --> 00:03:09,630 le dispositif de commande. 55 00:03:09,630 --> 00:03:11,950 Nous allons parler un peu plus à ce sujet plus tard. 56 00:03:11,950 --> 00:03:13,400 >> Premièrement, quelle est Ruby? 57 00:03:13,400 --> 00:03:14,500 Donc, c'est Ruby. 58 00:03:14,500 --> 00:03:17,850 Et c'est le symbole de la langue appelée Ruby. 59 00:03:17,850 --> 00:03:24,170 Ruby est un des Newish interprétés langues, si le script. 60 00:03:24,170 --> 00:03:29,530 C'est une langue qui n'est pas compilé comme C. Il est compilé sur la course. 61 00:03:29,530 --> 00:03:33,220 Donc, c'est une bonne chose parce que, tout comme PHP, par exemple, est également interprété, est 62 00:03:33,220 --> 00:03:33,960 pas compilé. 63 00:03:33,960 --> 00:03:35,710 C'est bien parce que son portable. 64 00:03:35,710 --> 00:03:39,740 Alors que vous venez de passer votre code de une machine à l'autre. 65 00:03:39,740 --> 00:03:44,440 Depuis une machine Linux, de Windows la machine, à un Mac ou Apple machine ou 66 00:03:44,440 --> 00:03:45,240 quelque chose comme ça. 67 00:03:45,240 --> 00:03:49,160 Et vous n'avez pas besoin de s'inquiéter des détails concernant chacun des spécifique 68 00:03:49,160 --> 00:03:49,890 les systèmes d'exploitation. 69 00:03:49,890 --> 00:03:51,330 Il va travailler partout. 70 00:03:51,330 --> 00:03:54,700 >> Et Ruby est un langage qui - 71 00:03:54,700 --> 00:03:56,920 vous les gars vous souvenez sans doute cela. 72 00:03:56,920 --> 00:04:01,440 Les gens utilisent la fonction de hachage mis en œuvre C dans la table de hachage 73 00:04:01,440 --> 00:04:04,860 la semaine dernière et a eu toutes sortes des erreurs de segmentation. 74 00:04:04,860 --> 00:04:12,360 Et puis les choses se soucier de savoir si cette chaîne i là, la chaîne i 75 00:04:12,360 --> 00:04:20,380 ici, a été effectivement minuscules ou majuscules, ou ce genre de préoccupante 76 00:04:20,380 --> 00:04:21,410 détails de bas niveau. 77 00:04:21,410 --> 00:04:26,180 Eh bien en Ruby, si vous voulez mettre en œuvre une table de hachage, c'est exactement la façon dont vous 78 00:04:26,180 --> 00:04:27,100 créer une table de hachage. 79 00:04:27,100 --> 00:04:30,280 Vous dites, dictionnaire, c'est le nom de ma variable, = "Hash.new". 80 00:04:30,280 --> 00:04:34,680 Et puis dictionnaire ["foo"], et quand je suis ajoutant foo à ma table de hachage, je suis 81 00:04:34,680 --> 00:04:35,960 juste dire foo est là. 82 00:04:35,960 --> 00:04:38,070 >> Et puis, si je voulais vérifier si foo était là, je viens de dire si 83 00:04:38,070 --> 00:04:40,270 Dictionnaire ["foo"] == true return true. 84 00:04:40,270 --> 00:04:41,560 Whoa, et c'est votre table de hachage. 85 00:04:41,560 --> 00:04:44,280 C'est la mise en œuvre de table de hachage en Ruby. 86 00:04:44,280 --> 00:04:50,200 Donc tout le monde souhaite qu'ils puissent avoir utilisé quelque chose comme Ruby pour la dernière 87 00:04:50,200 --> 00:04:51,450 l'ensemble de processeurs de la semaine, non? 88 00:04:51,450 --> 00:04:54,410 89 00:04:54,410 --> 00:04:59,050 Nous avons toutes sortes de raisons de vouloir d'utiliser un langage comme Ruby. 90 00:04:59,050 --> 00:05:01,380 Ruby a gemmes. 91 00:05:01,380 --> 00:05:04,000 Gem est un nom pour un genre de bibliothèque en Ruby. 92 00:05:04,000 --> 00:05:07,490 >> Donc, toutes sortes de fonctionnalités intéressantes que vous pouvez avoir, par exemple, si je 93 00:05:07,490 --> 00:05:09,280 vouloir intégrer ma demande. 94 00:05:09,280 --> 00:05:12,470 Que l'application de Harvard 2017 a été intégré à Facebook. 95 00:05:12,470 --> 00:05:15,810 Ainsi, vous pouvez vous connecter, via Facebook, à l'application. 96 00:05:15,810 --> 00:05:19,760 Donc, si vous allez faire, vous n'avez pas besoin de s'inquiéter à propos de l'envoi de certains 97 00:05:19,760 --> 00:05:23,760 demande HTTP à Facebook, et attendre pour la réponse, et en forçant l' 98 00:05:23,760 --> 00:05:25,150 réponse, et blah, blah, blah. 99 00:05:25,150 --> 00:05:29,120 Vous venez de télécharger le joyau que fait tout cela pour vous. 100 00:05:29,120 --> 00:05:30,750 Et puis vous n'avez pas besoin de vous soucier de tout cela. 101 00:05:30,750 --> 00:05:33,670 >> Et puis beaucoup d'aide en ligne, bien sûr. 102 00:05:33,670 --> 00:05:37,040 Il ya beaucoup, beaucoup, beaucoup de sites Web qui vont vous aider à la fois avec 103 00:05:37,040 --> 00:05:38,880 Ruby et Rails. 104 00:05:38,880 --> 00:05:40,530 Et c'est beaucoup de plaisir à code. 105 00:05:40,530 --> 00:05:46,770 Exactement parce que vous pouvez cesser de s'inquiéter sur ces problèmes pas si amusantes. 106 00:05:46,770 --> 00:05:50,690 Comme si quelque chose est en minuscules ou majuscules, et alors pourquoi est-ce 107 00:05:50,690 --> 00:05:54,500 vous donnant une erreur de segmentation, et vous pouvez vraiment plonger dans la très 108 00:05:54,500 --> 00:05:55,460 choses intéressantes. 109 00:05:55,460 --> 00:05:59,650 Pour plonger dans les problèmes vraiment cool. 110 00:05:59,650 --> 00:06:02,420 >> Donc, Ruby est juste comme à C dans un sens. 111 00:06:02,420 --> 00:06:05,950 Donc, il ne va pas être que grand d'un saut en réalité. 112 00:06:05,950 --> 00:06:09,470 Donc met, c'est notre application d'impression en Ruby. 113 00:06:09,470 --> 00:06:12,790 Je pense que vous pouvez utiliser impression trop, mais c'est ce que met utilise tout le monde. 114 00:06:12,790 --> 00:06:14,490 Donc met juste "Bonjour tout le monde". 115 00:06:14,490 --> 00:06:21,400 Vous pouvez, ou vous ne pourriez pas, avoir la parenthèse encerclant 116 00:06:21,400 --> 00:06:23,280 "Bonjour tout le monde" là-bas. 117 00:06:23,280 --> 00:06:25,350 Vous pouvez simplement choisir de ou de ne pas l'utiliser. 118 00:06:25,350 --> 00:06:26,780 Et alors x = "1". 119 00:06:26,780 --> 00:06:29,030 Une boucle while semble assez la même. 120 00:06:29,030 --> 00:06:30,630 Il a juste inférieure syntaxe. 121 00:06:30,630 --> 00:06:32,590 C'est une sorte de nettoyage un peu. 122 00:06:32,590 --> 00:06:37,380 Et puis, si x> 25 puts "Big!" et d'autre met "Petit ...". 123 00:06:37,380 --> 00:06:39,070 Et c'est une sorte de C dans ce sens. 124 00:06:39,070 --> 00:06:41,630 >> Donc, si vous regardez cela, vous pouvez approche comprendre probablement 125 00:06:41,630 --> 00:06:42,890 tout ce qui se passe. 126 00:06:42,890 --> 00:06:47,750 Mais il est plus puissant. 127 00:06:47,750 --> 00:06:54,520 Plus puissante parce que, plus que cela, Il peut faire des choses ne sont pas si - 128 00:06:54,520 --> 00:06:55,750 une sorte de hackage peu. 129 00:06:55,750 --> 00:06:57,430 En C, vous ne pouviez pas faire dans il suffit de faire une seule ligne. 130 00:06:57,430 --> 00:06:58,680 Par exemple, met «Je suis # {x}". 131 00:06:58,680 --> 00:07:04,330 132 00:07:04,330 --> 00:07:11,100 C'est syntaxe juste pour mettre la valeur de X ici, et ne pas imprimer la 133 00:07:11,100 --> 00:07:12,160 caractère x. 134 00:07:12,160 --> 00:07:17,850 En C, vous aviez à faire le pour cent d, et puis mettre en place la variable x après l' 135 00:07:17,850 --> 00:07:19,730 la virgule ici, ou quelque chose comme ça. 136 00:07:19,730 --> 00:07:22,220 >> Et en Ruby, il ya un raccourci pour faire juste cela. 137 00:07:22,220 --> 00:07:27,830 Et met ce, si x> 3, de sorte que vous pouvez mettre le si sur une seule ligne. 138 00:07:27,830 --> 00:07:29,010 Et puis une liste. 139 00:07:29,010 --> 00:07:33,320 Listes de C, comme un tableau, vous devez garder une trace de la taille de votre tableau est ou 140 00:07:33,320 --> 00:07:34,720 sinon vous obtiendrez une segmentation redire. 141 00:07:34,720 --> 00:07:36,210 Votre tableau est un seul type. 142 00:07:36,210 --> 00:07:38,790 Donc c'est soit un tableau de la charge ou un tableau d'entiers. 143 00:07:38,790 --> 00:07:43,620 Dans ce cas, j'ai créé une liste ici, c'est un tableau, qui a le premier 144 00:07:43,620 --> 00:07:48,450 élément est une chaîne, John, puis quatre, deux - ce sont des nombres entiers. 145 00:07:48,450 --> 00:07:53,590 Et puis j'ajoute juste, liste, la Gauche équerre, Gauche 146 00:07:53,590 --> 00:07:54,820 Équerre, trois. 147 00:07:54,820 --> 00:07:58,170 Cela signifie simplement append quelque chose à ma liste. 148 00:07:58,170 --> 00:08:01,630 >> Donc c'est un peu plus intéressant que si vous voulez l'utiliser comme 149 00:08:01,630 --> 00:08:03,920 une simple liste de nombres entiers, vous pourriez, totalement. 150 00:08:03,920 --> 00:08:05,530 C'est tout à fait bien. 151 00:08:05,530 --> 00:08:06,750 Il suffit de mettre entiers là. 152 00:08:06,750 --> 00:08:10,240 Mais si vous voulez faire quelque chose qui est plus convaincante, qui a d'autres 153 00:08:10,240 --> 00:08:11,690 , que a - 154 00:08:11,690 --> 00:08:15,480 Je ne sais pas, toutes sortes de listes y, ou d'autres objets qui ne sont plus 155 00:08:15,480 --> 00:08:16,970 intéressant, vous pouvez tout à fait le faire. 156 00:08:16,970 --> 00:08:17,880 C'est tout à fait bien. 157 00:08:17,880 --> 00:08:21,210 Et puis si vous voulez pour parcourir la liste, vous pouvez utiliser la 158 00:08:21,210 --> 00:08:24,850 plus C-ish type d'approche. 159 00:08:24,850 --> 00:08:29,970 C'est pour la boucle, vous lancez une variable, i = "1", ou i = "0". 160 00:08:29,970 --> 00:08:32,980 Et puis vous allez, et une itération, et obtenir tous les éléments. 161 00:08:32,980 --> 00:08:37,559 >> Mais vous pouvez également utiliser cette approche plus Ruby-comme. 162 00:08:37,559 --> 00:08:40,289 C'est comme un list.each. 163 00:08:40,289 --> 00:08:45,230 C'est tout simplement dire, revenir moi tous les éléments de la liste. 164 00:08:45,230 --> 00:08:49,120 Et faire à chaque élément, les appeler élém. 165 00:08:49,120 --> 00:08:51,880 Donc, c'est juste un nom que je suis donnant à chaque élément. 166 00:08:51,880 --> 00:08:56,630 Et maintenant cela va répéter pour tous les éléments, et élém, ça va 167 00:08:56,630 --> 00:09:00,790 être la façon dont nous accédons que seul élément. 168 00:09:00,790 --> 00:09:04,310 Ainsi, vous pouvez tout à fait coller à la approche de C, mais cela fonctionne aussi. 169 00:09:04,310 --> 00:09:07,970 Et c'est exactement la même chose, OK. 170 00:09:07,970 --> 00:09:13,830 >> Et à part ça, il est vraiment, vraiment facile à intégrer Ruby et HTML 171 00:09:13,830 --> 00:09:17,010 car vous les gars sont intéressés dans les applications web. 172 00:09:17,010 --> 00:09:20,070 HTML est certainement quelque chose qui vous allez utiliser beaucoup. 173 00:09:20,070 --> 00:09:25,820 Et ici si vous vouliez mettre Ruby en HTML, il suffit de commencer ici, <%. 174 00:09:25,820 --> 00:09:28,500 Cela signifie, ici Ruby commence. 175 00:09:28,500 --> 00:09:32,130 Et puis, un peu comme%> PHP dans ce sens. 176 00:09:32,130 --> 00:09:35,520 Voici Ruby se termine et vous pouvez il suffit de mettre votre si ici. 177 00:09:35,520 --> 00:09:39,400 Et puis j'ai une variable user.logged_in. 178 00:09:39,400 --> 00:09:45,120 En Ruby, nous ajoutons généralement ceux, soit point d'interrogation ou d'exclamation 179 00:09:45,120 --> 00:09:48,210 marque, comme un personnage de la banque, juste genre de 180 00:09:48,210 --> 00:09:49,480 la distinction entre nos fonctions. 181 00:09:49,480 --> 00:09:52,780 Mais vous venez de mettre que pour votre propre bien. 182 00:09:52,780 --> 00:09:56,910 Ce n'est pas quelque chose qui change rien dans la fonctionnalité. 183 00:09:56,910 --> 00:10:01,160 >> Donc, juste pour me rappeler qu'il s'agit d'une fonction - et les fonctions de Ruby, 184 00:10:01,160 --> 00:10:06,650 plutôt que C, comme je l'ai déjà dit, ils n'ont pas besoin de les parenthèses. 185 00:10:06,650 --> 00:10:09,740 Alors que connecté chose, c'est une fonction, c'est une méthode. 186 00:10:09,740 --> 00:10:12,990 Mais vous n'avez pas explicitement besoin de mettre les parenthèses là. 187 00:10:12,990 --> 00:10:16,030 Il suffit donc de demander si l'utilisateur a ouvert une session dans, et si l'utilisateur a ouvert une session en maintenant 188 00:10:16,030 --> 00:10:17,100 HTML recommence. 189 00:10:17,100 --> 00:10:21,670 Alors bienvenue, et ici J'imprime la user.name. 190 00:10:21,670 --> 00:10:22,920 Et c'est tout. 191 00:10:22,920 --> 00:10:24,970 192 00:10:24,970 --> 00:10:30,420 Donc, c'est assez simple, comment vous intégrez Ruby avec votre HTML. 193 00:10:30,420 --> 00:10:34,560 Et des ressources, comme je le disais, il ya toutes sortes de ressources pour Ruby. 194 00:10:34,560 --> 00:10:39,560 Les gars, vous pouvez tout regarder cette place après en raison à la fois de la vidéo, et 195 00:10:39,560 --> 00:10:40,875 les lames, vont être disponible en ligne. 196 00:10:40,875 --> 00:10:44,620 197 00:10:44,620 --> 00:10:47,180 >> Et maintenant, nous allons entrer dans Rails. 198 00:10:47,180 --> 00:10:48,330 Rails est amour. 199 00:10:48,330 --> 00:10:49,230 Rails - 200 00:10:49,230 --> 00:10:51,030 si Ruby est son langage. 201 00:10:51,030 --> 00:10:54,340 OK, tout comme PHP, tout comme Python. 202 00:10:54,340 --> 00:10:59,980 C'est un langage de haut niveau, pas comme C. Un milieu à faible niveau de langage C dans 203 00:10:59,980 --> 00:11:05,240 le sens que Ruby vous n'avez pas à vous soucier de la mémoire réaffectation, et 204 00:11:05,240 --> 00:11:07,300 pointeurs, et ce genre de choses. 205 00:11:07,300 --> 00:11:11,120 Mais Rails est ce programme qui a été écrit en Ruby. 206 00:11:11,120 --> 00:11:15,610 Et il utilise Ruby, afin d'avoir cette cadre, pour que vous soyez en mesure de 207 00:11:15,610 --> 00:11:18,990 construire des applications web impressionnants. 208 00:11:18,990 --> 00:11:21,940 >> Donc, vous devez d'abord installer Ruby sur votre machine, mais la plupart des machines 209 00:11:21,940 --> 00:11:22,630 déjà que. 210 00:11:22,630 --> 00:11:24,800 Et puis installer les rails sur le dessus de celui-ci. 211 00:11:24,800 --> 00:11:26,540 Nous allons en parler plus tard. 212 00:11:26,540 --> 00:11:28,100 Et pourquoi Rails? 213 00:11:28,100 --> 00:11:31,470 Donc, MVC, c'est le contrôleur de vue du modèle nous avons parlé un peu 214 00:11:31,470 --> 00:11:36,050 peu, rend tout plus simple car il divise les choses qui sont 215 00:11:36,050 --> 00:11:42,420 conceptuellement différent dans différents parties de votre application. 216 00:11:42,420 --> 00:11:45,930 Moins de temps passé sur les problèmes de bas niveau, à nouveau, et très, très 217 00:11:45,930 --> 00:11:46,820 populaire en ce moment. 218 00:11:46,820 --> 00:11:52,130 Donc, pour tous ceux qui sont intéressés par la scène de démarrage, ou dans quelque chose 219 00:11:52,130 --> 00:11:58,435 comme le démarrage d'entreprises, et les gens dans le marché de la technologie qui sont 220 00:11:58,435 --> 00:12:02,440 démarrer leur propre entreprise en ce moment sont vraiment, vraiment fans de Ruby sur 221 00:12:02,440 --> 00:12:04,120 Rails parce que c'est si rapide. 222 00:12:04,120 --> 00:12:07,510 >> Ainsi vous pouvez obtenir quelque chose et le fonctionnement en moins d'une journée, et c'est 223 00:12:07,510 --> 00:12:10,410 vraiment un très convaincante argument pour utiliser Ruby. 224 00:12:10,410 --> 00:12:13,460 Et Rails 4.0 - 225 00:12:13,460 --> 00:12:15,920 il est très frais du four maintenant. 226 00:12:15,920 --> 00:12:16,930 Rails Donc 4.0 - 227 00:12:16,930 --> 00:12:20,180 Je pense que la première version était en Mars de cette année. 228 00:12:20,180 --> 00:12:23,460 Et il est vraiment sympa, il a tout sortes de nouvelles fonctionnalités cool. 229 00:12:23,460 --> 00:12:30,290 Donc, Ruby on Rails est un framework qui est constamment mis à jour pour avoir tous 230 00:12:30,290 --> 00:12:31,540 de la nouvelle technologie. 231 00:12:31,540 --> 00:12:33,710 232 00:12:33,710 --> 00:12:39,800 >> La première fois que j'ai essayé d'utiliser Ruby on Rails, j'ai eu ce problème parce que je 233 00:12:39,800 --> 00:12:44,540 créé ma première application web, et il était exactement comme ça. 234 00:12:44,540 --> 00:12:49,020 Ainsi, il crée l'ensemble de ces fichiers pour vous, et je n'avais aucune idée de ce que - 235 00:12:49,020 --> 00:12:50,780 c'est quoi? 236 00:12:50,780 --> 00:12:54,850 Il a créé tous les fichiers, et je ne voulu créer un programme simple, un 237 00:12:54,850 --> 00:12:57,140 site HTML simple. 238 00:12:57,140 --> 00:12:59,680 Et je ne pouvais même pas faire n'importe quoi. 239 00:12:59,680 --> 00:13:02,430 J'ai donc été un peu dépassés. 240 00:13:02,430 --> 00:13:08,350 Mais c'est l'une des choses que une fois que vous comprendre, tout devient si 241 00:13:08,350 --> 00:13:09,190 beaucoup plus claire. 242 00:13:09,190 --> 00:13:15,750 Donc, ne pas être submergé par la première vue de ce que vous créez dans un premier temps. 243 00:13:15,750 --> 00:13:18,430 >> Donc ce qui arrive est Rails crée tous ces fichiers. 244 00:13:18,430 --> 00:13:20,470 Donc, l'un des c'est doc, documentation. 245 00:13:20,470 --> 00:13:23,080 Db, qui est lié à la base de données. 246 00:13:23,080 --> 00:13:25,060 Lib, qui a bibliothèques connecter. 247 00:13:25,060 --> 00:13:28,200 Publique, le script, et certaines choses. 248 00:13:28,200 --> 00:13:32,110 À peu près tout ce que vous allez vous inquiétez est sur le dossier de l'application, là-haut. 249 00:13:32,110 --> 00:13:34,430 C'est le dossier qui contient votre application. 250 00:13:34,430 --> 00:13:35,540 Tous les autres fichiers - 251 00:13:35,540 --> 00:13:37,770 certains d'entre eux sont importants, et que vous êtes va apprendre à ce sujet plus tard. 252 00:13:37,770 --> 00:13:42,040 Mais ils sont juste là pour contenir le cadre. 253 00:13:42,040 --> 00:13:46,420 Ainsi, les premières pierres angulaires de la maison vous les gars sont la construction, OK? 254 00:13:46,420 --> 00:13:47,730 >> Mais le dossier de l'application - 255 00:13:47,730 --> 00:13:49,630 c'est une vraiment important. 256 00:13:49,630 --> 00:13:53,050 Et le dossier de l'application dispose d'actifs. 257 00:13:53,050 --> 00:13:57,690 Actifs est à peu près tout cela vient. 258 00:13:57,690 --> 00:14:01,890 Images par exemple, tout ce qui est statique qui va être téléchargée 259 00:14:01,890 --> 00:14:03,450 à votre site Web. 260 00:14:03,450 --> 00:14:06,850 Ainsi images, JavaScript, CSS - 261 00:14:06,850 --> 00:14:08,520 ce genre de choses sont actifs. 262 00:14:08,520 --> 00:14:11,310 263 00:14:11,310 --> 00:14:12,260 Contrôleurs - 264 00:14:12,260 --> 00:14:15,190 nous allons parler plus sur ce sont les contrôleurs, les modèles, 265 00:14:15,190 --> 00:14:16,800 et les champs d'une seconde. 266 00:14:16,800 --> 00:14:20,760 Et les aides sont des fonctions que vous peuvent utiliser partout dans votre code 267 00:14:20,760 --> 00:14:22,800 pour vous aider à faire quelque chose. 268 00:14:22,800 --> 00:14:25,800 Des fonctions telles que consignées, par exemple - user.loggedin. 269 00:14:25,800 --> 00:14:29,500 C'est une fonction que probablement vous avoir à utiliser dans toutes les pièces de votre 270 00:14:29,500 --> 00:14:30,030 application. 271 00:14:30,030 --> 00:14:33,590 Ainsi, vous pouvez mettre quelque chose comme que votre aide. 272 00:14:33,590 --> 00:14:34,370 >> Enveloppes - 273 00:14:34,370 --> 00:14:41,480 c'est si vous allez envoyer un e-mail à vos utilisateurs, vous 274 00:14:41,480 --> 00:14:43,420 vouloir utiliser un logiciel de messagerie. 275 00:14:43,420 --> 00:14:46,420 Et les modèles et les points de vue, nous allons de parler de ça maintenant. 276 00:14:46,420 --> 00:14:52,450 Ainsi, le contrôleur de vue du modèle, qui est la pierre angulaire de base de Ruby on 277 00:14:52,450 --> 00:14:55,730 Rails, et la plupart des cadres de nos jours, pour être honnête. 278 00:14:55,730 --> 00:15:01,180 Encore une fois, nous nous séparons tous notre code en trois parties distinctes. 279 00:15:01,180 --> 00:15:02,590 Le modèle - 280 00:15:02,590 --> 00:15:04,620 le modèle est fondamentalement la base de données. 281 00:15:04,620 --> 00:15:06,090 Il gère les choses dans la base de données. 282 00:15:06,090 --> 00:15:10,790 >> Ainsi, chaque table dans la base de données a une fichier correspondant dans le modèle. 283 00:15:10,790 --> 00:15:13,330 Il est donc une sorte de tableau pour vos utilisateurs. 284 00:15:13,330 --> 00:15:18,250 Donc, vous êtes stocker des informations comme le nom d'utilisateur, leurs e-mails, leur 285 00:15:18,250 --> 00:15:20,970 adresse, leur mot de passe, et des choses comme ça. 286 00:15:20,970 --> 00:15:24,535 Vous allez avoir un fichier dans le modèle utilisateur appelé rb - 287 00:15:24,535 --> 00:15:26,240 rb pour Ruby. 288 00:15:26,240 --> 00:15:30,180 Et là, vous allez avoir tous des méthodes et variables. 289 00:15:30,180 --> 00:15:34,130 Les variables vont correspondre pour le nom d'utilisateur, le courrier électronique, et 290 00:15:34,130 --> 00:15:35,370 tout. 291 00:15:35,370 --> 00:15:37,760 >> Et vous allez avoir les méthodes. 292 00:15:37,760 --> 00:15:42,690 Ce sera quelque chose de relatif - 293 00:15:42,690 --> 00:15:46,400 vous allez gérer cette information dans la base de données. 294 00:15:46,400 --> 00:15:50,220 Pour créer un modèle avec Rails, il suffit d'utiliser Rails génèrent. 295 00:15:50,220 --> 00:15:54,990 Et de créer des choses dans Rails, vous réellement besoin du terminal. 296 00:15:54,990 --> 00:15:58,770 C'est donc une très borne cadre fondé. 297 00:15:58,770 --> 00:16:02,530 Vous venez de vous connecter dans le terminal, et ne Rails, génèrent modèle. 298 00:16:02,530 --> 00:16:04,670 Et le nom de l'utilisateur est le modèle. 299 00:16:04,670 --> 00:16:10,270 Et je veux juste avoir deux variables, deux colonnes, à ma table. 300 00:16:10,270 --> 00:16:11,450 C'est donc email. 301 00:16:11,450 --> 00:16:13,080 Le courrier électronique est une chaîne de type. 302 00:16:13,080 --> 00:16:15,450 Mot de passe, mot de passe est également une chaîne de type. 303 00:16:15,450 --> 00:16:16,520 Ce sont les deux seules choses. 304 00:16:16,520 --> 00:16:19,160 C'est une sorte de une table utilisateur simpliste. 305 00:16:19,160 --> 00:16:22,490 Mais vous pouvez tout à fait mettre un cent chose est là si vous voulez. 306 00:16:22,490 --> 00:16:27,620 >> Et Rails rend également très, très simple d'avoir tous 307 00:16:27,620 --> 00:16:30,040 sortes de relations de base de données. 308 00:16:30,040 --> 00:16:36,100 Donc, en général, lorsque vous avez des tables dans votre base de données, ils ne sont pas très bien 309 00:16:36,100 --> 00:16:37,570 indépendants l'un de l'autre. 310 00:16:37,570 --> 00:16:39,392 Réfléchissons. 311 00:16:39,392 --> 00:16:42,960 Vous souhaitez acheter et vendre produits en ligne. 312 00:16:42,960 --> 00:16:46,620 OK, si vous avez un site web où vous envie d'acheter et de vendre des produits. 313 00:16:46,620 --> 00:16:55,060 Ainsi, chaque utilisateur dispose de nombreux produits qui cet utilisateur est prêt à vendre. 314 00:16:55,060 --> 00:17:00,970 Et chaque utilisateur dispose également de nombreuses transactions qui sont en cours, ou 315 00:17:00,970 --> 00:17:01,920 quelque chose comme ça. 316 00:17:01,920 --> 00:17:05,430 Et les transactions sont avec un autre utilisateur. 317 00:17:05,430 --> 00:17:08,310 Chaque transaction appartient à deux utilisateurs différents. 318 00:17:08,310 --> 00:17:10,560 L'utilisateur qui achète et l'utilisateur qui vend. 319 00:17:10,560 --> 00:17:13,920 >> Donc, ce sont les soi-disant relations de base de données. 320 00:17:13,920 --> 00:17:17,890 Et ici, nous avons exactement ces mots clés, a beaucoup et appartient à. 321 00:17:17,890 --> 00:17:19,500 Ce sont les plus importants. 322 00:17:19,500 --> 00:17:22,410 Et vous allez juste de dire, pour exemple, il s'agit de l'exemple d'un 323 00:17:22,410 --> 00:17:25,740 modèle en 2017 le site de Harvard. 324 00:17:25,740 --> 00:17:28,820 Encore une fois, les élèves ici - 325 00:17:28,820 --> 00:17:32,870 chaque étudiant sur le site, étudiant est un modèle, une table de base de données. 326 00:17:32,870 --> 00:17:37,560 Chaque élève avait beaucoup de livres parce que vous pourrait dire, quels sont vos favoris 327 00:17:37,560 --> 00:17:38,630 livres, à droite. 328 00:17:38,630 --> 00:17:44,450 Ainsi, chaque livre appartient à un étudiant ici. 329 00:17:44,450 --> 00:17:46,910 Et attribuer accessible - 330 00:17:46,910 --> 00:17:49,580 C'est juste que ceux qui sont les variables. 331 00:17:49,580 --> 00:17:53,050 Ce sont les variables accessibles à partir de ce modèle. 332 00:17:53,050 --> 00:17:58,570 Et les variables sont l'auteur de le livre, la description, le genre et 333 00:17:58,570 --> 00:17:59,870 titre du livre. 334 00:17:59,870 --> 00:18:02,700 Il suffit donc de l'information concernant le livre. 335 00:18:02,700 --> 00:18:06,410 >> Et ici, j'ai une méthode qui trie simplement tout. 336 00:18:06,410 --> 00:18:10,710 Donc, définir et finissent ici, c'est juste dire, voici ma méthode. 337 00:18:10,710 --> 00:18:13,220 Self.sorted_all. 338 00:18:13,220 --> 00:18:16,390 C'est juste, donne-moi tout trié, et c'est ainsi que vous implémentez 339 00:18:16,390 --> 00:18:22,360 l'algorithme de tri, ce qui est assez facile. 340 00:18:22,360 --> 00:18:27,430 Mais fondamentalement, c'est la façon dont un modèle ressemble, OK. 341 00:18:27,430 --> 00:18:32,990 Quelqu'un at-il des questions concernant cette chose de base de données? 342 00:18:32,990 --> 00:18:33,736 Relations? 343 00:18:33,736 --> 00:18:36,430 Est-ce clair? 344 00:18:36,430 --> 00:18:37,125 Oui. 345 00:18:37,125 --> 00:18:38,490 >> PUBLIC: Pouvez-vous faire l'algorithme de tri? 346 00:18:38,490 --> 00:18:41,960 >> GABRIEL GUIMARAES: L' algorithme de tri, OK. 347 00:18:41,960 --> 00:18:45,340 Lorsque vous vous êtes habitués à la syntaxe Ruby, ça va être clair. 348 00:18:45,340 --> 00:18:48,800 Mais fondamentalement, elems est Book.all. 349 00:18:48,800 --> 00:18:50,820 Donc livre est le nom de mon modèle. 350 00:18:50,820 --> 00:18:55,670 Lorsque vous créez un modèle, il est livré avec toutes sortes de belles méthodes pour vous. 351 00:18:55,670 --> 00:18:58,810 Donc dot.all est une méthode qui retourne tous les livres. 352 00:18:58,810 --> 00:19:02,560 Mais trouver, par exemple, serait chercher des un livre et retourner ce livre, ou 353 00:19:02,560 --> 00:19:03,840 quelque chose comme ça. 354 00:19:03,840 --> 00:19:05,990 Et si elems est tout. 355 00:19:05,990 --> 00:19:08,870 Et je dis juste elems.sort. 356 00:19:08,870 --> 00:19:11,300 Trier est une fonction intégrée dans Ruby. 357 00:19:11,300 --> 00:19:13,526 >> Et, faire ab. 358 00:19:13,526 --> 00:19:15,940 Donc, ce ne sera de nouveau - 359 00:19:15,940 --> 00:19:17,400 vous allez trier. 360 00:19:17,400 --> 00:19:19,850 Mais vous allez obtenir cet argument pour moi. 361 00:19:19,850 --> 00:19:25,160 Et l'argument utilise - c'est l'un des les choses les plus difficiles à Ruby en fait, 362 00:19:25,160 --> 00:19:26,920 ce faire chose. 363 00:19:26,920 --> 00:19:31,470 Mais une fois que vous comprenez tout vient très, très intuitif. 364 00:19:31,470 --> 00:19:37,140 Ainsi, le ab, cela veut dire l'endroit titulaires que je vais utiliser - comme 365 00:19:37,140 --> 00:19:41,760 les variables que je vais utiliser, sont va être appelé a et b. 366 00:19:41,760 --> 00:19:43,380 Et ce sont les livres. 367 00:19:43,380 --> 00:19:47,120 >> Parce sorte doit comparer éléments, rappelez-vous que? 368 00:19:47,120 --> 00:19:49,760 Ainsi, lorsque vous triez les choses, vous comparer deux éléments. 369 00:19:49,760 --> 00:19:51,900 Je vais vous dire que chaque fois que vous allez comparer - 370 00:19:51,900 --> 00:19:54,350 c'est donc, je suis de passage trier un argument. 371 00:19:54,350 --> 00:19:59,370 Et l'argument est tout de do à et ici, OK? 372 00:19:59,370 --> 00:20:02,980 Et cet argument est juste dit genre comment comparer. 373 00:20:02,980 --> 00:20:07,460 Trier serait travailler ici, mais il serait de comparer avec leur 374 00:20:07,460 --> 00:20:09,530 défaut comparant algorithme. 375 00:20:09,530 --> 00:20:13,810 Je veux de comparer dans un très spécifique manière, à savoir, quand le livre 376 00:20:13,810 --> 00:20:16,900 a été créé, quand chaque livre a été créé. 377 00:20:16,900 --> 00:20:21,090 >> Je dis donc, dire le nom de la première est un livre et le nom de l' 378 00:20:21,090 --> 00:20:27,620 deuxième livre que b, je veux tri pour trier quelque chose basé sur ce b.created_at 379 00:20:27,620 --> 00:20:30,000 symbole bizarre, a.created_at. 380 00:20:30,000 --> 00:20:34,350 Et ce symbole étrange est un raccourci car si l'un est plus grand que l' 381 00:20:34,350 --> 00:20:35,380 autre, retourner 1. 382 00:20:35,380 --> 00:20:37,450 Si l'on est égale à la autre, revenir à zéro. 383 00:20:37,450 --> 00:20:41,180 Si l'on est plus petit que l' de l'autre, le retour moins 1. 384 00:20:41,180 --> 00:20:43,435 C'est ce que ce symbole est bizarre. 385 00:20:43,435 --> 00:20:46,680 386 00:20:46,680 --> 00:20:47,500 >> Mais ce n'est pas important. 387 00:20:47,500 --> 00:20:52,780 Je veux dire, ce que je veux vous les gars pour obtenir est maintenant l'idée que la base de données - 388 00:20:52,780 --> 00:20:54,150 vous pouvez avoir le modèle là. 389 00:20:54,150 --> 00:20:59,850 Donc, vous n'avez pas à vous soucier de connecter et d'utiliser l'instruction SQL, 390 00:20:59,850 --> 00:21:00,500 et des choses comme ça. 391 00:21:00,500 --> 00:21:04,920 Il peut également créer des portes à injection SQL et tous 392 00:21:04,920 --> 00:21:06,460 sortes de problèmes de sécurité. 393 00:21:06,460 --> 00:21:07,930 Dans ce cas, vous n'avez pas s'inquiéter à ce sujet. 394 00:21:07,930 --> 00:21:11,880 Vous venez d'utiliser des méthodes comme book.all. 395 00:21:11,880 --> 00:21:15,210 Et que, dans le fond, bien sûr, va à votre base de données, et il est 396 00:21:15,210 --> 00:21:17,570 va utiliser une instruction SQL pour obtenir tous les livres. 397 00:21:17,570 --> 00:21:19,650 Mais vous n'avez pas à s'inquiéter à ce sujet. 398 00:21:19,650 --> 00:21:24,090 C'est l'emporter, OK? 399 00:21:24,090 --> 00:21:26,790 >> Et quand vous avez une déclaration de belongs_to comme ceci, cela signifie que 400 00:21:26,790 --> 00:21:31,780 une fois que vous avez un objet livre, vous peut voir quel est son élève. 401 00:21:31,780 --> 00:21:34,130 Alors, qui élève a de ce livre? 402 00:21:34,130 --> 00:21:38,760 Ainsi, nous pouvons simplement utiliser book.student, et qui vous donne ce que l'élève est. 403 00:21:38,760 --> 00:21:42,440 Et c'est une fonctionnalité vraiment avoir. 404 00:21:42,440 --> 00:21:43,950 >> OK, maintenant la vue. 405 00:21:43,950 --> 00:21:48,380 Ainsi, le modèle est ce qui interagit avec la base de données, non? 406 00:21:48,380 --> 00:21:52,240 La vue est fondamentalement HTML, et CSS, et un peu de JavaScript. 407 00:21:52,240 --> 00:21:55,080 Et c'est ce que l'utilisateur voit réellement. 408 00:21:55,080 --> 00:21:56,540 L'utilisateur ne va pas voir votre base de données. 409 00:21:56,540 --> 00:22:00,290 Il va voir des données de la base de données intégrée dans le visualiseur. 410 00:22:00,290 --> 00:22:04,940 411 00:22:04,940 --> 00:22:08,410 Ruby on Rails, il est vraiment simple de faire des champs. 412 00:22:08,410 --> 00:22:12,780 Tout d'abord, parce qu'elle crée déjà pour vous, hors de la boîte, une mise en page. 413 00:22:12,780 --> 00:22:16,200 >> Une mise en page est fondamentalement quelque chose que - 414 00:22:16,200 --> 00:22:24,230 si toutes vos pages ont un logo sur le dessus et, je ne sais pas, certains menus ou 415 00:22:24,230 --> 00:22:29,000 quelque chose comme ça, que toutes vos pages ont en commun, alors vous n'avez pas 416 00:22:29,000 --> 00:22:34,830 besoin de créer beaucoup, beaucoup, beaucoup HTML dossiers où tous les fichiers ont cette 417 00:22:34,830 --> 00:22:36,830 même code HTML. 418 00:22:36,830 --> 00:22:40,700 Je veux dire que c'est stupide parce que vous êtes juste répéter le code entre les différents fichiers. 419 00:22:40,700 --> 00:22:42,480 Ce n'est certainement pas une bonne approche. 420 00:22:42,480 --> 00:22:45,660 >> Donc, Ruby on Rails crée cette mise en page pour vous. 421 00:22:45,660 --> 00:22:49,770 Et cela est en train de dire, toutes mes pages vont avoir cette HTML, cette tête 422 00:22:49,770 --> 00:22:54,805 titre ici, et ceux qui sont le style lien fiche tag. 423 00:22:54,805 --> 00:22:56,800 Branchez ici toute ma CSS. 424 00:22:56,800 --> 00:23:01,194 Branchez ici toute ma JavaScript et des balises meta. 425 00:23:01,194 --> 00:23:04,440 C'est juste quelque chose qu'ils faire automatiquement pour vous. 426 00:23:04,440 --> 00:23:07,490 Et puis, finir la tête, maintenant ici commence le corps. 427 00:23:07,490 --> 00:23:09,780 Et maintenant c'est mon contenu réel. 428 00:23:09,780 --> 00:23:16,620 Donc, si je voulais mettre quelque chose comme un Menu ici, je le mettre à droite sur 429 00:23:16,620 --> 00:23:19,600 cet endroit, ou quelque chose comme ça, de sorte que l'ensemble de mes pages partagé. 430 00:23:19,600 --> 00:23:21,730 Ainsi, la mise en page est partagé par toutes les pages. 431 00:23:21,730 --> 00:23:26,500 >> Maintenant que le rendement ici dit simplement, sans Quel que soit ce pages est en, juste 432 00:23:26,500 --> 00:23:30,560 brancher le contenu de cette page ici, OK? 433 00:23:30,560 --> 00:23:33,770 Et maintenant, c'est, par exemple, le contenu d'une page qui va être 434 00:23:33,770 --> 00:23:38,950 branché sur cette déclaration de rendement automatiquement par Rails. 435 00:23:38,950 --> 00:23:40,700 Mais ceci est une disposition commune par toutes les pages. 436 00:23:40,700 --> 00:23:42,500 Et ceci est un exemple d'une page. 437 00:23:42,500 --> 00:23:46,410 Et c'est exactement la page qui répertorie tous les livres. 438 00:23:46,410 --> 00:23:49,390 C'est donc un tableau HTML de base en haut. 439 00:23:49,390 --> 00:23:53,730 Donc Liste des livres, un titre, l'auteur, description, genre. 440 00:23:53,730 --> 00:24:00,810 >> Et ici, nous utilisons, à nouveau, certains Syntaxe Ruby, @ books.each-- 441 00:24:00,810 --> 00:24:07,720 @ Type de dit que votre variable est globale dans un sens. 442 00:24:07,720 --> 00:24:10,940 Parce que cette variable était en fait déclaré dans le dispositif de commande qui 443 00:24:10,940 --> 00:24:12,840 vous allez voir tout de suite. 444 00:24:12,840 --> 00:24:18,570 Mais il suffit de prendre pour acquis que cette @ Livres est une variable qui est une liste de 445 00:24:18,570 --> 00:24:20,000 tous les livres. 446 00:24:20,000 --> 00:24:24,580 Donc books.each, ne, et encore, ce n'est juste dire à quel point voulez-vous nommer 447 00:24:24,580 --> 00:24:29,580 chacun des itérateurs de sorte que nous ne faisons pas à se soucier de quatre, int i 448 00:24:29,580 --> 00:24:30,630 blah, blah, blah. 449 00:24:30,630 --> 00:24:33,760 Nous venons de prendre chacun des éléments et les utiliser. 450 00:24:33,760 --> 00:24:38,890 >> Alors ce livre est fait, et puis juste impression ici. book.title, book.author, 451 00:24:38,890 --> 00:24:41,020 book.description, et blah, blah, blah. 452 00:24:41,020 --> 00:24:42,940 Et voici un link_to. 453 00:24:42,940 --> 00:24:46,840 Donc link_to est juste une balise de lien que l'utilisateur peut cliquer sur et 454 00:24:46,840 --> 00:24:49,040 va à un autre site. 455 00:24:49,040 --> 00:24:51,160 Link_to, montrer ce livre en particulier. 456 00:24:51,160 --> 00:24:56,480 Donc, si l'utilisateur est très intéressé par ce livre, il peut alors cliquer sur spectacle. 457 00:24:56,480 --> 00:24:59,350 Ou cliquez sur modifier, s'il veut éditer le livre. 458 00:24:59,350 --> 00:25:03,560 Ou détruire, s'il veut supprimer le livre de la base de données. 459 00:25:03,560 --> 00:25:06,260 OK, ne qui fait sens? 460 00:25:06,260 --> 00:25:08,610 Bon. 461 00:25:08,610 --> 00:25:10,600 >> Enfin, le dispositif de commande. 462 00:25:10,600 --> 00:25:17,150 Donc, fondamentalement, le contrôleur est l'interface entre l' 463 00:25:17,150 --> 00:25:20,040 modèle et la vue. 464 00:25:20,040 --> 00:25:25,120 Ainsi, le modèle est la partie de votre code qui a la base de données - 465 00:25:25,120 --> 00:25:27,620 chaque table de la base de données a un fichier correspondant dans le 466 00:25:27,620 --> 00:25:30,120 modèle, et ainsi de suite. 467 00:25:30,120 --> 00:25:34,890 Et comment faire le modèle et la vue interagir? 468 00:25:34,890 --> 00:25:36,990 Ainsi, par l'intermédiaire du contrôleur. 469 00:25:36,990 --> 00:25:43,620 Qu'est-ce qu'un contrôleur fait est qu'il est le modèle pour quelque chose comme, par exemple, 470 00:25:43,620 --> 00:25:46,510 mettre tout le livre à l'intérieur d'une variable. 471 00:25:46,510 --> 00:25:47,760 Comme celui-ci, @ livres. 472 00:25:47,760 --> 00:25:50,200 473 00:25:50,200 --> 00:25:54,800 >> Et il doit être global avec ce à chose parce que ça va être 474 00:25:54,800 --> 00:25:56,180 consultée par la vue. 475 00:25:56,180 --> 00:26:00,000 Il ne va pas être utilisé dans les le contrôleur lui-même. 476 00:26:00,000 --> 00:26:03,160 Et il ralentit juste information la vue va utiliser. 477 00:26:03,160 --> 00:26:08,030 Par exemple, le contrôleur vérifie si l'utilisateur est en ligne. 478 00:26:08,030 --> 00:26:09,620 Et comment fait-elle cela? 479 00:26:09,620 --> 00:26:11,760 Il demande en fait le modèle parce que le modèle a l' 480 00:26:11,760 --> 00:26:12,890 des informations sur l'utilisateur. 481 00:26:12,890 --> 00:26:15,840 Il dispose d'une table d'utilisateurs, les livres table, d'autres tables. 482 00:26:15,840 --> 00:26:18,560 Ainsi, le contrôleur demande si l'utilisateur est en ligne. 483 00:26:18,560 --> 00:26:23,760 Si l'utilisateur est en ligne, le dispositif de commande gère les choses comme mettre un cookie, 484 00:26:23,760 --> 00:26:28,120 ou quelque chose comme ça, pour mettre le timbre à-dire que l'utilisateur est en ligne. 485 00:26:28,120 --> 00:26:29,930 Pas besoin de vous connecter à nouveau. 486 00:26:29,930 --> 00:26:34,080 >> Et il va charger une variable appelée l'utilisateur, par exemple, que le 487 00:26:34,080 --> 00:26:35,130 vue peut utiliser. 488 00:26:35,130 --> 00:26:42,375 Et la vue peut mettre quelque chose ici, par exemple, accueillir user.name. 489 00:26:42,375 --> 00:26:46,040 Cela va donc à dire, accueil John, bienvenue James - 490 00:26:46,040 --> 00:26:47,390 quelque chose comme ça, non? 491 00:26:47,390 --> 00:26:50,380 Donc, toutes ces variables utilisées dans les vue vont être chargé dans le 492 00:26:50,380 --> 00:26:54,190 contrôleur et vont être tiré vers le haut à partir du modèle. 493 00:26:54,190 --> 00:26:58,310 494 00:26:58,310 --> 00:27:00,555 >> C'est l'exemple d'un automate. 495 00:27:00,555 --> 00:27:03,140 496 00:27:03,140 --> 00:27:08,640 Nous avons donc, fondamentalement, chaque - 497 00:27:08,640 --> 00:27:10,010 nous appelons ces actions de choses. 498 00:27:10,010 --> 00:27:11,570 Donc index est une action. 499 00:27:11,570 --> 00:27:13,820 C'est une fonction Ruby. 500 00:27:13,820 --> 00:27:16,160 C'est une méthode Ruby là. 501 00:27:16,160 --> 00:27:19,350 Mais pour les appels de contrôleur ces actions de choses. 502 00:27:19,350 --> 00:27:24,830 Et chaque action est liée à un itinéraire. 503 00:27:24,830 --> 00:27:29,350 Donc, ici dans cette voie, par exemple, est un Obtenez Compte / livres. 504 00:27:29,350 --> 00:27:37,500 Donc, si vous allez à harvard2017.com/books, ce qui va arriver, c'est ce code est 505 00:27:37,500 --> 00:27:40,630 va être appelé. 506 00:27:40,630 --> 00:27:44,290 >> Et il s'agit d'un fichier - 507 00:27:44,290 --> 00:27:46,010 Permettez-moi d'ouvrir ce vrai rapide. 508 00:27:46,010 --> 00:27:51,310 509 00:27:51,310 --> 00:27:55,386 Il ya un fichier appelé fichier brut. 510 00:27:55,386 --> 00:27:57,920 Ce n'est pas l'ouverture. 511 00:27:57,920 --> 00:28:02,330 Donc, il ya un fichier appelé fichier brut qui correspond essentiellement - 512 00:28:02,330 --> 00:28:03,580 oh, maintenant c'est l'ouverture. 513 00:28:03,580 --> 00:28:15,900 514 00:28:15,900 --> 00:28:17,550 Ici, les routes. 515 00:28:17,550 --> 00:28:24,440 Alors correspond essentiellement une souche, activation / nouveau par exemple, à 516 00:28:24,440 --> 00:28:27,810 quelque chose dans le contrôleur. 517 00:28:27,810 --> 00:28:31,580 Donc, il ya ce contrôleur appelé le contrôleur d'activation, mais ici, 518 00:28:31,580 --> 00:28:32,790 nous avons les livres, par exemple. 519 00:28:32,790 --> 00:28:33,740 Alors matchs - 520 00:28:33,740 --> 00:28:39,040 livres / nouvelle, le contrôleur livres, l'action nouvelle. 521 00:28:39,040 --> 00:28:41,290 Donc, fondamentalement, très simple choses. 522 00:28:41,290 --> 00:28:43,970 523 00:28:43,970 --> 00:28:48,770 >> Et ici, si vous aviez à obtenir / livres, réduire l'ID des livres, réduire nouveau, 524 00:28:48,770 --> 00:28:53,250 vous allez aller à cette Méthode Ruby là-bas. 525 00:28:53,250 --> 00:28:58,210 Donc, ici, ce que cet indice est fait est juste chargement livre journal. 526 00:28:58,210 --> 00:28:59,570 C'est quelque chose qui - 527 00:28:59,570 --> 00:29:02,160 Je me connecte tous les livres dans un journal. 528 00:29:02,160 --> 00:29:03,050 Et démêler tout cela. 529 00:29:03,050 --> 00:29:05,870 Donc, cela va revenir tous les livres rangés. 530 00:29:05,870 --> 00:29:07,940 Il s'agit, à nouveau, dans la base de données. 531 00:29:07,940 --> 00:29:09,570 Il s'agit donc d'une méthode du modèle. 532 00:29:09,570 --> 00:29:12,440 Vous avez vu ce procédé étant créée dans le modèle. 533 00:29:12,440 --> 00:29:16,170 Maintenant c'est juste chargement tous les livres et mettre que dans une variable qui 534 00:29:16,170 --> 00:29:17,490 on peut le voir par la vue. 535 00:29:17,490 --> 00:29:20,680 >> Parce que vous ne pouvez pas, dans le milieu de votre code HTML, vous ne pouvez pas appeler 536 00:29:20,680 --> 00:29:23,940 quelque chose directement à partir du modèle, parce que, pour deux raisons. 537 00:29:23,940 --> 00:29:28,260 D'abord, pour des raisons de sécurité car ce n'est pas vraiment intéressant de 538 00:29:28,260 --> 00:29:32,920 chargement des informations directement à l'intérieur chaque HTML qui se trouve dans la base de données. 539 00:29:32,920 --> 00:29:36,030 Et en second lieu, pour garder votre Code vraiment organisé. 540 00:29:36,030 --> 00:29:38,800 Donc séparer exactement le différentes parties. 541 00:29:38,800 --> 00:29:42,830 Donc BookLog.sorted_all, ceci dans le base de données et cela va mettre en 542 00:29:42,830 --> 00:29:44,290 une variable @ livres. 543 00:29:44,290 --> 00:29:47,695 Et maintenant, cette variable est accessible dans votre code HTML. 544 00:29:47,695 --> 00:29:54,610 Ainsi, vous pouvez simplement mettre tous les livres il tout comme nous avons fait, ici. 545 00:29:54,610 --> 00:29:57,760 Il s'agit de la variable. 546 00:29:57,760 --> 00:30:04,730 >> Et visites respond_to faire | Format |, c'est juste une sorte de syntaxe Ruby pour 547 00:30:04,730 --> 00:30:08,140 si l'utilisateur me demande pour code HTML, je vais 548 00:30:08,140 --> 00:30:09,340 répondre avec le code HTML. 549 00:30:09,340 --> 00:30:15,500 Si l'utilisateur me demande avec le code JSON, qui est quelque chose que les applications Web utilisent 550 00:30:15,500 --> 00:30:20,780 pour communiquer entre eux, ils généralement utiliser JSON ou un autre 551 00:30:20,780 --> 00:30:23,120 genre de chose. 552 00:30:23,120 --> 00:30:25,850 Donc, il répond simplement en utilisant les deux formats différents. 553 00:30:25,850 --> 00:30:31,720 Mais pour un utilisateur normal, ce n'aurait pas besoin d'être ici. 554 00:30:31,720 --> 00:30:34,060 Vous voulez bien répondre avec HTML, et c'est très bien. 555 00:30:34,060 --> 00:30:36,220 Ne vous inquiétez donc pas vraiment beaucoup à ce sujet. 556 00:30:36,220 --> 00:30:39,510 C'est la seule ligne de code dans notre contrôle comme il est charger de HTML 557 00:30:39,510 --> 00:30:42,630 base de données, mise en quelque chose qui est accessible par la vue. 558 00:30:42,630 --> 00:30:49,870 >> Et puis de nouveau, donc ici Je crée des livres. 559 00:30:49,870 --> 00:30:55,490 Mais pour créer des livres, j'ai besoin d'un étudiant parce que j'ai besoin de savoir l'étudiant 560 00:30:55,490 --> 00:30:58,490 dont les livres font partie de ce, à droite. 561 00:30:58,490 --> 00:31:00,780 Alors @ étudiant = étudiant. 562 00:31:00,780 --> 00:31:06,500 Étudiant, de nouveau, nous commençons avec un grand S est l'élève modèle. 563 00:31:06,500 --> 00:31:09,380 OK, donc c'est l'élève modèle, c'est le journal de livre de modèle. 564 00:31:09,380 --> 00:31:15,150 Student.find, donc je vais trouver un étudiant à l'aide de l'ID de paramètres. 565 00:31:15,150 --> 00:31:19,160 params.id, c'est juste me chercher la valeur ID de ce qui a été adoptée - 566 00:31:19,160 --> 00:31:23,410 et l'URL. 567 00:31:23,410 --> 00:31:25,440 >> Juste aller à la recherche de cet élève. 568 00:31:25,440 --> 00:31:28,420 Et d'abord, nous allons vérifier si l'étudiant a des chansons 569 00:31:28,420 --> 00:31:29,910 et bla, bla, bla. 570 00:31:29,910 --> 00:31:35,570 Et ce traite déjà la cas où l'étudiant 571 00:31:35,570 --> 00:31:38,340 n'existe pas, par exemple. 572 00:31:38,340 --> 00:31:44,450 Et puis, d'autre, nous répondons simplement à la même chose en utilisant HTML. 573 00:31:44,450 --> 00:31:47,570 Et puis nous pouvons laisser l'utilisateur créer leurs chansons. 574 00:31:47,570 --> 00:31:49,320 Donc, ce qui est nouveau. 575 00:31:49,320 --> 00:31:52,580 Nouveau est généralement utilisé pour, laisser l'utilisateur de créer quelque chose. 576 00:31:52,580 --> 00:31:56,440 Et puis il ya l'action de créer C'est généralement utilisé pour - 577 00:31:56,440 --> 00:31:59,040 effectivement mis les chansons dans la base de données ou quelque chose comme ça. 578 00:31:59,040 --> 00:32:01,770 Mais une fois que vous commencez à utiliser Rails, ces choses vont être 579 00:32:01,770 --> 00:32:05,110 beaucoup, beaucoup plus clair. 580 00:32:05,110 --> 00:32:07,910 OK, refroidir. 581 00:32:07,910 --> 00:32:09,715 Vous avez des questions à ce jour? 582 00:32:09,715 --> 00:32:15,240 Est-ce que cela fait sens avec les contrôleurs, modèles, les champs - 583 00:32:15,240 --> 00:32:17,860 ouais? 584 00:32:17,860 --> 00:32:20,980 >> Encore une fois dans votre application Rails - 585 00:32:20,980 --> 00:32:24,700 si tout cela peut être trouvé ici. 586 00:32:24,700 --> 00:32:30,430 Donc, vous avez de l'application, les contrôleurs, les sont tous mes contrôleurs. 587 00:32:30,430 --> 00:32:32,880 Ainsi, par exemple, des livres de contrôle. 588 00:32:32,880 --> 00:32:35,490 C'est celle que nous venons de voir. 589 00:32:35,490 --> 00:32:36,400 Et puis vues. 590 00:32:36,400 --> 00:32:39,750 Et chaque contrôleur dispose d'un vue associée, non? 591 00:32:39,750 --> 00:32:43,750 Donc automatiquement lorsque vous appelez cette indice ici, par exemple, ou lorsque vous 592 00:32:43,750 --> 00:32:49,930 appeler ce nouveau livre, la vue, livres, nouvelle va être appelé. 593 00:32:49,930 --> 00:32:53,300 >> Donc Rails fait tout automatiquement pour vous. 594 00:32:53,300 --> 00:32:59,420 Ainsi, chaque contrôleur a un associé voir et tous les modèles - 595 00:32:59,420 --> 00:33:01,970 ici j'en ai un, deux, trois, quatre, cinq modèles. 596 00:33:01,970 --> 00:33:05,800 Mais il s'agit d'un modèle de l'élève, de sorte que ceux sont les variables que tous les 597 00:33:05,800 --> 00:33:08,620 les élèves ont - localisation, date de naissance. 598 00:33:08,620 --> 00:33:11,270 Les étudiants sont un peu plus compliqué parce que chaque élève a 599 00:33:11,270 --> 00:33:15,400 plus autre méthode qui lui est associé. 600 00:33:15,400 --> 00:33:18,770 Mais ce n'est que la manipulation de la table qui avait tout l' 601 00:33:18,770 --> 00:33:21,980 étudiants dans la base de données. 602 00:33:21,980 --> 00:33:24,300 >> Et, OK, l'installation de Rails. 603 00:33:24,300 --> 00:33:27,710 Installation des rails, pour être honnête, n'est pas la chose la plus simple. 604 00:33:27,710 --> 00:33:32,980 Mais une fois que vous avez passé tout, il est très, très facile. 605 00:33:32,980 --> 00:33:38,810 Donc, l'installation de Rails, vous allez simplement à la site, rubyandrails.org / téléchargement 606 00:33:38,810 --> 00:33:41,510 et suivre leurs instructions. 607 00:33:41,510 --> 00:33:42,700 Télécharger tout. 608 00:33:42,700 --> 00:33:46,600 Et vous pouvez le faire soit en appareils, dans le CS50 d'appareils, sur 609 00:33:46,600 --> 00:33:51,120 Windows, sur Mac, ou de toute exploitation système de votre choix. 610 00:33:51,120 --> 00:33:52,460 Ruby on Rails fonctionne sur tout. 611 00:33:52,460 --> 00:33:56,680 >> Les chances sont que vous avez déjà installé Ruby si vous avez un Mac ou - 612 00:33:56,680 --> 00:33:58,130 dans les appareils, je pense que Ruby est - 613 00:33:58,130 --> 00:34:00,940 Je ne suis pas sûr. 614 00:34:00,940 --> 00:34:02,440 Et puis vous avez juste besoin de l'installer. 615 00:34:02,440 --> 00:34:07,190 Et si vous voulez créer un nouveau application web, il vous suffit 616 00:34:07,190 --> 00:34:10,270 faire Rails, nouveau blog. 617 00:34:10,270 --> 00:34:12,429 Rails, de nouvelles - 618 00:34:12,429 --> 00:34:13,310 Je ne sais pas - 619 00:34:13,310 --> 00:34:15,050 le nom de votre site web. 620 00:34:15,050 --> 00:34:16,380 Et c'est aussi simple que. 621 00:34:16,380 --> 00:34:19,060 >> Il va créer tous les fichiers je viens de vous a montré. 622 00:34:19,060 --> 00:34:22,730 Mais le modèle, la vue et l' contrôleur ne vont pas être 623 00:34:22,730 --> 00:34:24,330 encore peuplé. 624 00:34:24,330 --> 00:34:28,710 Tu vas juste avoir à y aller et remplir ces trois dossiers. 625 00:34:28,710 --> 00:34:32,840 Donc les chances sont, vous voulez créer un modèle, par exemple, mettre en œuvre un 626 00:34:32,840 --> 00:34:33,780 premier modèle. 627 00:34:33,780 --> 00:34:40,440 Encore une fois, en essayant toujours de mordre plus petit bits d'un problème à la fois. 628 00:34:40,440 --> 00:34:42,659 >> Et puis, disons, créer un modèle pour vos utilisateurs. 629 00:34:42,659 --> 00:34:44,370 C'est la première chose si vous avez des utilisateurs. 630 00:34:44,370 --> 00:34:48,440 Ensuite, je veux créer un modèle comme nous l'avons montré ici. 631 00:34:48,440 --> 00:34:58,470 Rails, générer, modèle, l'utilisateur, puis chaîne de courriels - que nous avons ici. 632 00:34:58,470 --> 00:35:01,200 Et il suffit de créer ce modèle, oui. 633 00:35:01,200 --> 00:35:05,030 Rails génèrent modèle e-mail de l'utilisateur: chaîne mot de passe: chaîne. 634 00:35:05,030 --> 00:35:09,650 >> Et puis vous créez un contrôleur qui traite de l'utilisateur. 635 00:35:09,650 --> 00:35:12,790 Et vous pouvez créer de nouveaux utilisateurs et faire ce genre de choses. 636 00:35:12,790 --> 00:35:18,280 Et puis vous pouvez passer à la création le reste de votre site. 637 00:35:18,280 --> 00:35:22,470 Cool, des questions? 638 00:35:22,470 --> 00:35:23,230 Oui. 639 00:35:23,230 --> 00:35:24,480 >> PUBLIC: [inaudible] 640 00:35:24,480 --> 00:35:27,430 641 00:35:27,430 --> 00:35:29,910 >> GABRIEL GUIMARAES: Oui, oui, vous avez certainement d'aller dans la vue. 642 00:35:29,910 --> 00:35:31,290 C'est une très bonne question. 643 00:35:31,290 --> 00:35:36,410 Donc, la vue est ce qui fait contient votre code HTML. 644 00:35:36,410 --> 00:35:39,240 Donc, c'est ce que les utilisateurs vont voir. 645 00:35:39,240 --> 00:35:46,690 Là encore, ici, il s'agit d'un exemple de vue. 646 00:35:46,690 --> 00:35:52,040 Il a du code HTML et Ruby code au même moment. 647 00:35:52,040 --> 00:35:56,010 Ainsi, le code Ruby est là pour mettre les choses à partir de la base de données, par exemple, 648 00:35:56,010 --> 00:35:59,150 qui ont été chargés sur le contrôleur. 649 00:35:59,150 --> 00:36:04,240 Alors que variable @ livres, par exemple, dispose de tous les livres et la table 650 00:36:04,240 --> 00:36:05,340 livres à la base de données. 651 00:36:05,340 --> 00:36:08,680 Nous nous sommes assurés qu'il avait dans le contrôleur. 652 00:36:08,680 --> 00:36:10,250 >> Et la vue - 653 00:36:10,250 --> 00:36:15,900 chacune des pages de votre site est hors va avoir une vue associée. 654 00:36:15,900 --> 00:36:21,762 Donc, si vous allez à la page d'accueil, le première page, harvard2017.com. 655 00:36:21,762 --> 00:36:23,490 Cela montre une page. 656 00:36:23,490 --> 00:36:26,760 Et puis vous allez à réduire profil. 657 00:36:26,760 --> 00:36:30,150 Cela va aller à un contrôleur c'est un contrôleur de profil. 658 00:36:30,150 --> 00:36:34,620 Et le contrôleur de profil va pour vous donner la vue de profil. 659 00:36:34,620 --> 00:36:37,590 Et la vue de profil va regarder un peu comme ça, mais ça va 660 00:36:37,590 --> 00:36:41,910 avoir des informations sur l'utilisateur, et pas sur les livres. 661 00:36:41,910 --> 00:36:46,840 >> C'est donc le code HTML et CSS et ceux choses que l'utilisateur voit 662 00:36:46,840 --> 00:36:49,680 avec le code Ruby - 663 00:36:49,680 --> 00:36:52,505 qui imprime effectivement les choses à partir de la base de données. 664 00:36:52,505 --> 00:36:54,520 Est-ce plus clair? 665 00:36:54,520 --> 00:36:55,080 J'espère. 666 00:36:55,080 --> 00:36:58,066 >> AUDIENCE: Le code HTML est utilisé pour fait de rendre le site que l' 667 00:36:58,066 --> 00:37:02,470 utilisateur voit, mais le code Ruby est ce qui rend le travail de site Web? 668 00:37:02,470 --> 00:37:06,500 >> GABRIEL GUIMARAES: Le code Ruby est converti en HTML. 669 00:37:06,500 --> 00:37:09,420 Alors, que l'utilisateur obtient est que HTML, OK? 670 00:37:09,420 --> 00:37:10,900 C'est seulement HTML. 671 00:37:10,900 --> 00:37:18,740 Cette book.title va se convertir à l' la valeur de book.title en HTML, OK. 672 00:37:18,740 --> 00:37:23,080 Donc, c'est tout sur le serveur, et ainsi de cela dépend de ce que les livres sont là 673 00:37:23,080 --> 00:37:24,410 dans le serveur en ce moment. 674 00:37:24,410 --> 00:37:32,930 Mais ce que le serveur serait immédiatement sens est que le code HTML, OK. 675 00:37:32,930 --> 00:37:36,720 >> Mais la vue donne juste la mise en page de ce que le HTML allait ressembler 676 00:37:36,720 --> 00:37:39,530 et que les variables vont être. 677 00:37:39,530 --> 00:37:42,170 Ce genre de une impression, OK. 678 00:37:42,170 --> 00:37:44,360 Ces choses là sont fondamentalement imprimer les aboutissants. 679 00:37:44,360 --> 00:37:47,430 Ils vont afficher les variables, OK. 680 00:37:47,430 --> 00:37:49,850 Donc, ce n'est que HTML, ceux - 681 00:37:49,850 --> 00:37:51,390 auteur, titre, description. 682 00:37:51,390 --> 00:37:53,540 C'est le contenu statique. 683 00:37:53,540 --> 00:37:54,520 Cela ne va pas changer. 684 00:37:54,520 --> 00:37:56,700 C'est code HTML tout simplement. 685 00:37:56,700 --> 00:37:59,080 Ce sont les sorties d'impression pour les variables - 686 00:37:59,080 --> 00:38:00,330 choses qui dépendent. 687 00:38:00,330 --> 00:38:02,350 688 00:38:02,350 --> 00:38:03,600 Cool, d'autres questions? 689 00:38:03,600 --> 00:38:12,120 690 00:38:12,120 --> 00:38:12,600 Bon? 691 00:38:12,600 --> 00:38:13,080 Oui. 692 00:38:13,080 --> 00:38:15,720 >> PUBLIC: Je pense que vous faisiez tous l'édition dans un autre texte 693 00:38:15,720 --> 00:38:16,920 programme d'édition. 694 00:38:16,920 --> 00:38:19,520 Faut-il télécharger aussi que? 695 00:38:19,520 --> 00:38:24,250 >> GABRIEL GUIMARAES: Oui, j'aime cette éditeur de texte appelé TextMate. 696 00:38:24,250 --> 00:38:24,990 Et c'est vraiment bien. 697 00:38:24,990 --> 00:38:26,980 Il est bien adapté à Ruby. 698 00:38:26,980 --> 00:38:29,270 Il couleurs choses très proprement. 699 00:38:29,270 --> 00:38:34,770 Donc, TextMate, T-E-X-T. Je vais mettre que, tenez - 700 00:38:34,770 --> 00:38:42,880 701 00:38:42,880 --> 00:38:45,720 >> Je veux dire que vous pouvez utiliser gedit ou ce que vous voulez. 702 00:38:45,720 --> 00:38:49,970 Mais ceci est spécifique pour Mac, et ce est vraiment bien car il met tous 703 00:38:49,970 --> 00:38:51,000 vos fichiers là-bas. 704 00:38:51,000 --> 00:38:53,620 Et en Ruby on Rails, vous devez pour passer des fichiers beaucoup. 705 00:38:53,620 --> 00:38:55,890 Donc, c'est beaucoup, beaucoup de fichiers simplement passer d'un fichier, passer à 706 00:38:55,890 --> 00:38:57,120 un fichier ou l'autre. 707 00:38:57,120 --> 00:39:02,000 Donc TextMate est un très bon, mais il ya beaucoup là-bas. 708 00:39:02,000 --> 00:39:03,250 Plus de questions? 709 00:39:03,250 --> 00:39:08,680 710 00:39:08,680 --> 00:39:09,870 OK, oui? 711 00:39:09,870 --> 00:39:12,825 >> PUBLIC: Y at-il un développement mobile par Ruby on Rails? 712 00:39:12,825 --> 00:39:15,640 713 00:39:15,640 --> 00:39:17,050 >> GABRIEL GUIMARAES: j'ai entendu des choses. 714 00:39:17,050 --> 00:39:19,550 Je ne les ai pas utilisé. 715 00:39:19,550 --> 00:39:21,570 Vous pourriez la recherche plus à ce sujet. 716 00:39:21,570 --> 00:39:24,740 Je ne sais pas s'il ya une bonne chose là-bas. 717 00:39:24,740 --> 00:39:29,980 718 00:39:29,980 --> 00:39:31,030 OK, oui? 719 00:39:31,030 --> 00:39:32,280 >> PUBLIC: [inaudible] 720 00:39:32,280 --> 00:39:38,340 721 00:39:38,340 --> 00:39:40,550 >> GABRIEL Guimarães: Non Rails, probablement tableau Ruby. 722 00:39:40,550 --> 00:39:44,270 723 00:39:44,270 --> 00:39:49,080 Ouvrez une fenêtre de terminal et le type, "Ruby". 724 00:39:49,080 --> 00:39:52,030 Oui, sans doute, et puis vous suffit d'installer Rails. 725 00:39:52,030 --> 00:39:57,050 Mais si vous allez installer la nouvelle Rails 4.0, que je recommande fortement, 726 00:39:57,050 --> 00:40:02,870 vous devez télécharger Ruby 2.0. 727 00:40:02,870 --> 00:40:04,530 C'est la nouvelle trop. 728 00:40:04,530 --> 00:40:09,530 Et les nouvelles Rails 4.0 a quelque chose vraiment cool 729 00:40:09,530 --> 00:40:11,260 il le fait pour les actifs. 730 00:40:11,260 --> 00:40:12,810 Il gère des actifs. 731 00:40:12,810 --> 00:40:18,860 Les actifs sont de nouveau les images, les fichiers CSS, et les fichiers JavaScript. 732 00:40:18,860 --> 00:40:24,060 Donc, une chose vraiment bien que Ruby on Rails ne vous est tous ceux CSS 733 00:40:24,060 --> 00:40:26,980 fichiers que vous avez et tout - 734 00:40:26,980 --> 00:40:32,420 il regroupe tout juste en place dans un énorme fichier, sans espaces ni quoi que ce soit, 735 00:40:32,420 --> 00:40:40,120 pour réduire au minimum le moment où l'utilisateur a besoin de télécharger ce code à partir de votre serveur. 736 00:40:40,120 --> 00:40:47,780 >> Alors, quand vous voyez dans votre ordinateur, il est va avoir comme 15 fichiers CSS. 737 00:40:47,780 --> 00:40:49,520 Ou beaucoup beaucoup de fichiers CSS, différents. 738 00:40:49,520 --> 00:40:54,890 Mais à la fin de la journée, ce Rails automatiquement ne vous est il met 739 00:40:54,890 --> 00:41:00,760 le tout dans un grand fichier de sorte qu'il réduit au minimum le temps de la demande. 740 00:41:00,760 --> 00:41:02,630 C'est vraiment cool. 741 00:41:02,630 --> 00:41:02,940 Oui? 742 00:41:02,940 --> 00:41:04,190 >> PUBLIC: [inaudible] 743 00:41:04,190 --> 00:41:13,910 744 00:41:13,910 --> 00:41:14,440 >> GABRIEL GUIMARAES: Exactement. 745 00:41:14,440 --> 00:41:16,230 Ainsi, l'intégration de Google Maps. 746 00:41:16,230 --> 00:41:20,200 C'est une API JavaScript de Google. 747 00:41:20,200 --> 00:41:23,750 Donc, je suis allé sur le site de Google. 748 00:41:23,750 --> 00:41:29,950 Ils ont cette API Google Maps et je téléchargé le code et l'a intégré 749 00:41:29,950 --> 00:41:31,610 dans ma vue. 750 00:41:31,610 --> 00:41:35,490 Donc ce que je devais faire là-bas c'est que je devais obtenir l' 751 00:41:35,490 --> 00:41:37,310 les emplacements de la base de données. 752 00:41:37,310 --> 00:41:38,990 Cela a été fait dans le contrôleur. 753 00:41:38,990 --> 00:41:40,950 Je suis donc allé à la commande - 754 00:41:40,950 --> 00:41:42,350 où est le contrôleur. 755 00:41:42,350 --> 00:41:44,330 Le contrôleur était comme ça. 756 00:41:44,330 --> 00:41:48,660 Vous avez tous les endroits de la étudiants, mis tout cela dans un grand 757 00:41:48,660 --> 00:41:52,060 variable, une grande liste, que a tous les emplacements. 758 00:41:52,060 --> 00:41:55,340 >> Et dans la vue, parce que le JavaScript API est quelque chose dans le 759 00:41:55,340 --> 00:41:55,800 voir, non? 760 00:41:55,800 --> 00:42:00,440 Parce que JavaScript s'exécute dans votre code HTML code, il va être envoyé à 761 00:42:00,440 --> 00:42:01,710 l'ordinateur de l'utilisateur. 762 00:42:01,710 --> 00:42:09,310 Et dans la vue, j'ai chargé tout cela informations dans l'API Google. 763 00:42:09,310 --> 00:42:12,080 Et il a fait tout cela pour moi, ce qui est vraiment cool. 764 00:42:12,080 --> 00:42:16,240 Mais si vous voulez utiliser des choses dans le back-end, et c'est comme une bibliothèque, par 765 00:42:16,240 --> 00:42:18,720 exemple, encore une fois - 766 00:42:18,720 --> 00:42:20,140 l'intégration avec Facebook. 767 00:42:20,140 --> 00:42:24,060 C'est quelque chose que beaucoup, beaucoup, de nombreuses applications utilisent de nos jours. 768 00:42:24,060 --> 00:42:27,300 >> Alors que votre intégration avec Facebook parce que c'est tellement plus facile de juste 769 00:42:27,300 --> 00:42:30,450 vous connecter avec Facebook pour créer de un compte et bla, bla, bla. 770 00:42:30,450 --> 00:42:35,120 Ensuite, il suffit d'utiliser un petit bijou et c'est comme simple que d'aller à votre fichier de bijou. 771 00:42:35,120 --> 00:42:39,350 fichier Gem est un fichier appelé fichier de bijou dans le répertoire source de votre Ruby on 772 00:42:39,350 --> 00:42:40,370 Rails projet. 773 00:42:40,370 --> 00:42:43,700 Il suffit d'aller là-bas et ajouter nouveau joyau. 774 00:42:43,700 --> 00:42:45,300 Et vous pouvez le retrouver sur Google. 775 00:42:45,300 --> 00:42:46,520 Il ya beaucoup, beaucoup, beaucoup de pierres précieuses. 776 00:42:46,520 --> 00:42:51,070 Il ya celui qui fait spécifiquement ce pour l'intégration de Facebook. 777 00:42:51,070 --> 00:42:54,660 Je ne suis pas sûr de ce que le nom de celui-ci. 778 00:42:54,660 --> 00:42:56,680 Il suffit de Google et vous êtes aller pour le trouver. 779 00:42:56,680 --> 00:42:57,930 OK, d'autres questions? 780 00:42:57,930 --> 00:43:01,110 781 00:43:01,110 --> 00:43:03,280 Génial, merci d'être venus. 782 00:43:03,280 --> 00:43:09,227