1 00:00:00,000 --> 00:00:08,560 2 00:00:08,560 --> 00:00:10,410 >> GABRIEL GUIMARAES: Dies ist CS50. 3 00:00:10,410 --> 00:00:14,740 Willkommen Amazing Web Apps mit Ruby on Rails. 4 00:00:14,740 --> 00:00:19,700 Also für jeden, der interessiert ist in Web- Entwicklung und Erstellung von Webseiten, Web- 5 00:00:19,700 --> 00:00:26,510 Anwendungen ist Ruby on Rails diese wunderbares Werkzeug, dass Twitter, GitHub, 6 00:00:26,510 --> 00:00:31,470 Groupon, und alle Arten von wirklich nett, und große, Web-Anwendungen werden mit in 7 00:00:31,470 --> 00:00:33,080 in den letzten Jahren. 8 00:00:33,080 --> 00:00:37,190 Und es ist ein wirklich, wirklich cool Funktion, ein cooles Tool, 9 00:00:37,190 --> 00:00:39,290 weil es neu ist. 10 00:00:39,290 --> 00:00:43,830 So ist es all die neuen, leistungsfähigen hat Technologien in einem einge 11 00:00:43,830 --> 00:00:49,050 Rahmen, die Sie beschäftigen hilft allerlei erstaunliche Dinge. 12 00:00:49,050 --> 00:00:50,970 >> Aber was ist ein Framework? 13 00:00:50,970 --> 00:00:55,700 So ein Rahmen ist im Grunde etwas, das schafft - 14 00:00:55,700 --> 00:00:59,680 wenn Sie eine Website zu starten, wenn Sie begonnen von Grund auf, wie Sie öffnen 15 00:00:59,680 --> 00:01:04,530 gedit da, und Sie alle wollen zu codieren der HTML-und Code alle Ihre 16 00:01:04,530 --> 00:01:08,130 PHP, alle Ihre CSS, alles von Grund auf neu - 17 00:01:08,130 --> 00:01:09,690 das ist nur noch eine Menge Arbeit sein. 18 00:01:09,690 --> 00:01:13,940 Und einen Rahmen gibt Ihnen buchstäblich Hälfte der Website bereits getan. 19 00:01:13,940 --> 00:01:18,070 So starten Sie mit einem halben Website dass alles für Sie da. 20 00:01:18,070 --> 00:01:22,690 Wie die Datenbankverbindungen und alle möglichen Dinge, die Sie sich sorgen, 21 00:01:22,690 --> 00:01:25,040 etwa, wenn Sie von Grund auf, es zu tun, Sie nicht haben, um über die Sorgen 22 00:01:25,040 --> 00:01:26,480 Details niedrigen Niveau. 23 00:01:26,480 --> 00:01:32,360 >> Aber heute werden wir zu einem exportieren Die Websites, die der Neuling von der 24 00:01:32,360 --> 00:01:34,740 Klasse von 2017 sind wohl vertraut. 25 00:01:34,740 --> 00:01:40,170 Also diese Website ist die Website, die ich hat für unsere Klasse über den Sommer. 26 00:01:40,170 --> 00:01:46,500 Es war eine Website, wo die Schüler der die Klasse von 2017 konnte sich anmelden und 27 00:01:46,500 --> 00:01:47,480 miteinander interagieren. 28 00:01:47,480 --> 00:01:49,610 Und dann ist dies eine Karte - 29 00:01:49,610 --> 00:01:51,210 jeder, wo die Menschen sind. 30 00:01:51,210 --> 00:01:56,970 Und wir hatten ein Buch Spiel, ein Spiel-Songs wo wir Lieder der Menschen gesehen und 31 00:01:56,970 --> 00:01:57,970 Bücher der Menschen. 32 00:01:57,970 --> 00:02:00,480 Was sie gerne lesen, was sie gerne hören. 33 00:02:00,480 --> 00:02:06,830 Und der interessanteste Teil ist es dass es wörtlich nahm mich 3 Stunden 34 00:02:06,830 --> 00:02:07,840 alles davon codieren. 35 00:02:07,840 --> 00:02:13,050 Denn wenn ich alles von zu tun hatte Kratzer, wie das Öffnen bis gedit, es 36 00:02:13,050 --> 00:02:16,400 würde wahrscheinlich genommen haben mir 20, 30 Stunden. 37 00:02:16,400 --> 00:02:20,210 Aber mit Ruby on Rails, weil alles schon für mich festgelegt, 38 00:02:20,210 --> 00:02:25,550 es hat mich nur drei oder vier Stunden, oder so ähnlich. 39 00:02:25,550 --> 00:02:27,580 >> Also, was ist Ruby on Rails. 40 00:02:27,580 --> 00:02:32,720 Ruby on Rails, wie wir schon wieder sagte, ist ein Rahmen. 41 00:02:32,720 --> 00:02:34,800 Dies ist ein Bild eines Rahmens. 42 00:02:34,800 --> 00:02:37,460 So wirst du zu beginnen, sind ein Haus, haben Sie bereits die Hälfte der 43 00:02:37,460 --> 00:02:38,320 Haus getan. 44 00:02:38,320 --> 00:02:38,970 Das ist der Rahmen. 45 00:02:38,970 --> 00:02:40,560 Und Ruby on Rails ist genau so. 46 00:02:40,560 --> 00:02:44,440 Und Sie sollten es als, Sie beginnen zu denken eine Website, Ihren Web starten Sie 47 00:02:44,440 --> 00:02:48,830 Anwendung haben wir bereits die Hälfte davon es getan. 48 00:02:48,830 --> 00:02:50,400 Aber zuerst, was ist Rubin? 49 00:02:50,400 --> 00:02:53,510 50 00:02:53,510 --> 00:02:58,310 Ruby on Rails verwendet die Modellansicht Controller, der Paradigma ist, die 51 00:02:58,310 --> 00:02:59,930 ist eine wirklich interessante - 52 00:02:59,930 --> 00:03:04,250 und alle Anwendungen heutzutage verwenden so etwas. 53 00:03:04,250 --> 00:03:08,630 Diese Idee der Trennung Dinge in drei Teile, das Modell, die Aussicht, und 54 00:03:08,630 --> 00:03:09,630 der Controller. 55 00:03:09,630 --> 00:03:11,950 Wir werden ein wenig sprechen dazu später mehr. 56 00:03:11,950 --> 00:03:13,400 >> Erstens, was ist Rubin? 57 00:03:13,400 --> 00:03:14,500 Also das ist Ruby. 58 00:03:14,500 --> 00:03:17,850 Und das ist das Symbol für die Sprache namens Ruby. 59 00:03:17,850 --> 00:03:24,170 Ruby ist eine der newish interpretiert Sprachen, so Script. 60 00:03:24,170 --> 00:03:29,530 Es ist eine Sprache, die nicht übersetzt ist wie C. Es ist auf der Flucht zusammengestellt. 61 00:03:29,530 --> 00:03:33,220 Also das ist gut, weil, genau wie PHP, beispielsweise ist auch ausgelegt ist 62 00:03:33,220 --> 00:03:33,960 nicht kompiliert. 63 00:03:33,960 --> 00:03:35,710 Das ist gut, weil seine tragbar. 64 00:03:35,710 --> 00:03:39,740 Sie haben also nur den Code gehen von einer Maschine zur anderen. 65 00:03:39,740 --> 00:03:44,440 Von einem Linux-Computer mit einem Windows Maschine, auf einen Mac oder Apple-Maschine, oder 66 00:03:44,440 --> 00:03:45,240 so ähnlich. 67 00:03:45,240 --> 00:03:49,160 Und Sie brauchen nicht zu befürchten Einzelheiten zu jedem der spezifischen 68 00:03:49,160 --> 00:03:49,890 Betriebssysteme. 69 00:03:49,890 --> 00:03:51,330 Es wird überall funktionieren. 70 00:03:51,330 --> 00:03:54,700 >> Und Ruby ist eine Sprache, die - 71 00:03:54,700 --> 00:03:56,920 euch wohl daran erinnern. 72 00:03:56,920 --> 00:04:01,440 Die Menschen nutzen die Hash-Funktion implementiert C in der Hash-Tabelle 73 00:04:01,440 --> 00:04:04,860 letzte Woche und hatten alle möglichen Segmentierungsfehler. 74 00:04:04,860 --> 00:04:12,360 Und dann Dinge Gedanken darüber, ob dass die String-i gibt die Zeichenfolge i 75 00:04:12,360 --> 00:04:20,380 hier wurde tatsächlich in Kleinbuchstaben oder Großbuchstaben, oder diese Art von besorgniserregend 76 00:04:20,380 --> 00:04:21,410 Details niedrigen Niveau. 77 00:04:21,410 --> 00:04:26,180 Nun, in Ruby, wenn Sie wollen, zu implementieren eine Hash-Tabelle, das ist genau, wie Sie 78 00:04:26,180 --> 00:04:27,100 eine Hash-Tabelle zu erstellen. 79 00:04:27,100 --> 00:04:30,280 Sie sagen, Wörterbuch, das ist der Name meiner Variable = "Hash.new". 80 00:04:30,280 --> 00:04:34,680 Und dann Wörterbuch ["foo"] und wenn ich Hinzufügen foo meine Hash-Tabelle, ich bin 81 00:04:34,680 --> 00:04:35,960 einfach nur sagen foo ist da. 82 00:04:35,960 --> 00:04:38,070 >> Und dann, wenn ich wollte, um zu überprüfen, ob foo dort war, ich sage nur, wenn 83 00:04:38,070 --> 00:04:40,270 Wörterbuch ["foo"] == true return true. 84 00:04:40,270 --> 00:04:41,560 Whoa, und das ist Ihr Hash-Tabelle. 85 00:04:41,560 --> 00:04:44,280 Das ist die Umsetzung von Hash-Tabelle in Ruby. 86 00:04:44,280 --> 00:04:50,200 So kann jeder wollte sie haben könnte verwendet etwas wie Ruby für Last 87 00:04:50,200 --> 00:04:51,450 Woche pset, oder? 88 00:04:51,450 --> 00:04:54,410 89 00:04:54,410 --> 00:04:59,050 Wir haben alle Arten von Gründen zu wollen , um eine Sprache wie Ruby verwenden. 90 00:04:59,050 --> 00:05:01,380 Ruby hat Edelsteine. 91 00:05:01,380 --> 00:05:04,000 Gem ist ein Name für eine Art der Bibliothek in Ruby. 92 00:05:04,000 --> 00:05:07,490 >> Also alle Arten von interessanten Features Sie haben kann, zum Beispiel, wenn I 93 00:05:07,490 --> 00:05:09,280 möchte meine Anwendung zu integrieren. 94 00:05:09,280 --> 00:05:12,470 Das Harvard-2017-Anwendung wurde zu Facebook integriert. 95 00:05:12,470 --> 00:05:15,810 So könnten Sie sich anmelden, über Facebook, auf der App. 96 00:05:15,810 --> 00:05:19,760 Also, wenn Sie das machen können, sollten Sie nicht tun, brauchen, um über das Senden einige Sorgen 97 00:05:19,760 --> 00:05:23,760 HTTP-Anfrage an Facebook, und warten für die Antwort, und zwingt die 98 00:05:23,760 --> 00:05:25,150 Reaktion und blah, blah, blah. 99 00:05:25,150 --> 00:05:29,120 Sie laden einfach das Juwel, das tut alles für Sie. 100 00:05:29,120 --> 00:05:30,750 Und dann haben Sie nicht brauchen Sorgen über alles. 101 00:05:30,750 --> 00:05:33,670 >> Und dann viel Hilfe Online, versteht sich. 102 00:05:33,670 --> 00:05:37,040 Es gibt viele, viele, viele Websites, die werden euch sowohl mit Hilfe 103 00:05:37,040 --> 00:05:38,880 Ruby und Rails. 104 00:05:38,880 --> 00:05:40,530 Und es ist eine Menge Spaß, Code. 105 00:05:40,530 --> 00:05:46,770 Genau, weil Sie aufhören, sich Sorgen über diese Probleme nicht so viel Spaß. 106 00:05:46,770 --> 00:05:50,690 Wie, wenn etwas Klein-oder Groß-, warum ist dann, und dies 107 00:05:50,690 --> 00:05:54,500 geben Ihnen einen Segmentation Fault, und kann man wirklich in die sehr tauchen 108 00:05:54,500 --> 00:05:55,460 interessante Sachen. 109 00:05:55,460 --> 00:05:59,650 Um in die wirklich cool Probleme tauchen. 110 00:05:59,650 --> 00:06:02,420 >> So Ruby ist, wie an C in einem gewissen Sinn. 111 00:06:02,420 --> 00:06:05,950 So wird es nicht zu sein, dass groß der Sprung tatsächlich. 112 00:06:05,950 --> 00:06:09,470 So legt, das ist unser Druck App in Ruby. 113 00:06:09,470 --> 00:06:12,790 Ich denke, man könnte Druck zu verwenden, aber Puts ist, was jeder benutzt. 114 00:06:12,790 --> 00:06:14,490 Also nur puts "Hallo Welt". 115 00:06:14,490 --> 00:06:21,400 Sie könnten, oder Sie könnten nicht, haben der umlaufende Klammer 116 00:06:21,400 --> 00:06:23,280 "Hallo Welt" dort. 117 00:06:23,280 --> 00:06:25,350 Sie können wählen, ob nur oder nicht, dass zu verwenden. 118 00:06:25,350 --> 00:06:26,780 Und x = "1". 119 00:06:26,780 --> 00:06:29,030 Eine while-Schleife sieht ziemlich das gleiche. 120 00:06:29,030 --> 00:06:30,630 Es hat nur weniger Syntax. 121 00:06:30,630 --> 00:06:32,590 Es ist eine Art Reiniger ein wenig. 122 00:06:32,590 --> 00:06:37,380 Und dann, wenn x> 25 puts "Big!" und else puts "Kleine ...". 123 00:06:37,380 --> 00:06:39,070 Und es ist eine Art von C in diesem Sinne. 124 00:06:39,070 --> 00:06:41,630 >> Also, wenn Sie sich darum kümmern, können Sie Ansatz wahrscheinlich verstehen 125 00:06:41,630 --> 00:06:42,890 alles, was los ist. 126 00:06:42,890 --> 00:06:47,750 Aber es ist leistungsfähiger. 127 00:06:47,750 --> 00:06:54,520 Stärker denn mehr als das, es kann die Dinge sind nicht so, dass - 128 00:06:54,520 --> 00:06:55,750 eine Art hackage ein kleines bisschen. 129 00:06:55,750 --> 00:06:57,430 In C kann man nicht tun, in nur mit einer Linie zu tun. 130 00:06:57,430 --> 00:06:58,680 Zum Beispiel stellt "Ich bin # {x}". 131 00:06:58,680 --> 00:07:04,330 132 00:07:04,330 --> 00:07:11,100 Dies ist nur Syntax für den Wert setzen hier x und nicht drucken die 133 00:07:11,100 --> 00:07:12,160 Zeichen x. 134 00:07:12,160 --> 00:07:17,850 In C mussten Sie die d Prozent zu tun, und dann setzen Sie die Variable x nach der 135 00:07:17,850 --> 00:07:19,730 Komma hier, oder so ähnlich. 136 00:07:19,730 --> 00:07:22,220 >> Und in Ruby gibt es eine Kurzform für genau das zu tun. 137 00:07:22,220 --> 00:07:27,830 Und bringt das, wenn x> 3, so können Sie legte die, wenn alle auf einer Linie. 138 00:07:27,830 --> 00:07:29,010 Und dann eine Liste. 139 00:07:29,010 --> 00:07:33,320 Listen in C, wie ein Array, müssen Sie verfolgen, wie groß das Array ist oder 140 00:07:33,320 --> 00:07:34,720 sonst eine Segmentierung erhalten bemängeln. 141 00:07:34,720 --> 00:07:36,210 Ihre Anordnung ist nur ein Typ. 142 00:07:36,210 --> 00:07:38,790 Also ist es entweder ein Array zur Verfügung oder eine Anordnung von Zahlen. 143 00:07:38,790 --> 00:07:43,620 In diesem Fall habe ich hier eine Liste, das ist ein Array, das die erste hat 144 00:07:43,620 --> 00:07:48,450 Element ist ein String, John, und dann vier, zwei - das sind Zahlen. 145 00:07:48,450 --> 00:07:53,590 Und dann habe ich nur hinzufügen, eine Liste, die Spitze Klammer, links 146 00:07:53,590 --> 00:07:54,820 Der Winkel, drei. 147 00:07:54,820 --> 00:07:58,170 Das bedeutet nur, anhängen etwas zu meiner Liste. 148 00:07:58,170 --> 00:08:01,630 >> Also es ist irgendwie interessanter, weil es Wenn Sie dies als nutzen wollte 149 00:08:01,630 --> 00:08:03,920 nur eine einfache Liste von ganzen Zahlen, Sie könnten, völlig. 150 00:08:03,920 --> 00:08:05,530 Das ist völlig in Ordnung. 151 00:08:05,530 --> 00:08:06,750 Einfach den ganzen Zahlen gibt. 152 00:08:06,750 --> 00:08:10,240 Aber wenn Sie etwas, das ist tun wollte zwingender hat, dass andere 153 00:08:10,240 --> 00:08:11,690 Dinge hat, dass - 154 00:08:11,690 --> 00:08:15,480 Ich weiß nicht, alle Arten von Listen in gibt, oder anderen Gegenständen, die mehr sind 155 00:08:15,480 --> 00:08:16,970 interessant, können Sie ganz tun. 156 00:08:16,970 --> 00:08:17,880 Es ist völlig in Ordnung. 157 00:08:17,880 --> 00:08:21,210 Und dann, wenn Sie durch laufen wollen die Liste, die Sie verwenden könnten die 158 00:08:21,210 --> 00:08:24,850 mehr C-ish Art von Ansatz. 159 00:08:24,850 --> 00:08:29,970 Das ist für die Schleife, um Sie initiieren eine Variable, i = "1", oder i = "0". 160 00:08:29,970 --> 00:08:32,980 Und dann gehen Sie, und durchlaufen, und erhalten Sie alle der Elemente. 161 00:08:32,980 --> 00:08:37,559 >> Aber man konnte auch dieses verwenden mehr Rubin-ähnlichen Ansatz. 162 00:08:37,559 --> 00:08:40,289 Das ist wie ein list.each. 163 00:08:40,289 --> 00:08:45,230 Das ist einfach nur sagen, mich zurück alle Elemente in der Liste. 164 00:08:45,230 --> 00:08:49,120 Und mit jedem Element zu tun, nennen sie Elem. 165 00:08:49,120 --> 00:08:51,880 Also das ist nur ein Name, was ich bin , mit dem jedem Element. 166 00:08:51,880 --> 00:08:56,630 Und jetzt, das wird für alle wiederholen die Elemente und Elem, es geht 167 00:08:56,630 --> 00:09:00,790 auf die Art und Weise, die wir zugreifen können dass einzelne Element. 168 00:09:00,790 --> 00:09:04,310 So könnte man ganz auf den Stick C Ansatz, aber das funktioniert auch. 169 00:09:04,310 --> 00:09:07,970 Und es ist genau das gleiche, OK. 170 00:09:07,970 --> 00:09:13,830 >> Und anders als das, ist es wirklich, wirklich einfach zu Ruby und HTML integrieren 171 00:09:13,830 --> 00:09:17,010 seit ihr Jungs interessiert sind in Web-Anwendungen. 172 00:09:17,010 --> 00:09:20,070 HTML ist definitiv etwas, das Sie gehen, um eine Menge zu verwenden. 173 00:09:20,070 --> 00:09:25,820 Und hier, wenn Sie Ruby stellen wollte in HTML, nur hier zu starten, <%. 174 00:09:25,820 --> 00:09:28,500 Das heißt, hier beginnt Rubin. 175 00:09:28,500 --> 00:09:32,130 Und dann%>, der Art wie PHP in diesem Sinne. 176 00:09:32,130 --> 00:09:35,520 Hier endet Rubin und dann können Sie setzen Sie Ihre, wenn sich hier ein. 177 00:09:35,520 --> 00:09:39,400 Und dann habe ich einige Variablen user.logged_in. 178 00:09:39,400 --> 00:09:45,120 In Ruby wir in der Regel hinzufügen, die entweder Verhör Zeichen oder Ausrufe 179 00:09:45,120 --> 00:09:48,210 Marke, wie ein Bank Charakter, nur um Art 180 00:09:48,210 --> 00:09:49,480 unterscheiden zwischen unseren Funktionen. 181 00:09:49,480 --> 00:09:52,780 Aber setzt man, dass in Ihrem eigenen Interesse. 182 00:09:52,780 --> 00:09:56,910 Es ist nicht etwas, das ändert alles in der Funktionalität. 183 00:09:56,910 --> 00:10:01,160 >> Also, nur um mich daran zu erinnern, dass dies ein Funktion - und Funktionen in Ruby, 184 00:10:01,160 --> 00:10:06,650 anstatt C, wie ich sagte bereits, sie müssen nicht die Klammern. 185 00:10:06,650 --> 00:10:09,740 So dass in der Sache eingeloggt, das ist eine Funktion, das ist eine Methode. 186 00:10:09,740 --> 00:10:12,990 Aber Sie müssen nicht explizit zu müssen, setzen die Klammern drin. 187 00:10:12,990 --> 00:10:16,030 Also nur zu fragen, ob der Benutzer die eingeloggt sind, und wenn der Benutzer angemeldet, jetzt 188 00:10:16,030 --> 00:10:17,100 HTML beginnt erneut. 189 00:10:17,100 --> 00:10:21,670 Also Willkommen, und hier Ich drucke die user.name. 190 00:10:21,670 --> 00:10:22,920 Und das ist es. 191 00:10:22,920 --> 00:10:24,970 192 00:10:24,970 --> 00:10:30,420 Also das ist ziemlich geradlinig, wie Sie Ruby-Integration mit HTML. 193 00:10:30,420 --> 00:10:34,560 Und Ressourcen, wie gesagt, es gibt alle Arten von Ressourcen für Ruby. 194 00:10:34,560 --> 00:10:39,560 Sie können alle Jungs schauen sich diese später da sowohl die Video-und 195 00:10:39,560 --> 00:10:40,875 die Objektträger, sind los verfügbar online. 196 00:10:40,875 --> 00:10:44,620 197 00:10:44,620 --> 00:10:47,180 >> Und jetzt lass uns in Rails zu bekommen. 198 00:10:47,180 --> 00:10:48,330 Rails ist die Liebe. 199 00:10:48,330 --> 00:10:49,230 Schienen - 200 00:10:49,230 --> 00:10:51,030 so Ruby ist seine Sprache. 201 00:10:51,030 --> 00:10:54,340 OK, so wie PHP, genau wie Python. 202 00:10:54,340 --> 00:10:59,980 Es ist eine Hochsprache, nicht wie C. Eine Mitte, Low-Level-Sprache C in 203 00:10:59,980 --> 00:11:05,240 das Gefühl, dass Ruby die Sie nicht haben Sorgen über Speicher Umverteilung und 204 00:11:05,240 --> 00:11:07,300 Zeiger, und diese Art von Dingen. 205 00:11:07,300 --> 00:11:11,120 Aber Rails ist dieses Programm, das wurde in Ruby geschrieben. 206 00:11:11,120 --> 00:11:15,610 Und verwendet Ruby, um dies Rahmen, für Sie in der Lage zu sein, 207 00:11:15,610 --> 00:11:18,990 bauen genial Web-Anwendungen. 208 00:11:18,990 --> 00:11:21,940 >> So haben Sie zum ersten Ruby on installieren Ihre Maschine, aber die meisten Maschinen 209 00:11:21,940 --> 00:11:22,630 bereits das haben. 210 00:11:22,630 --> 00:11:24,800 Und dann installieren Schienen oben drauf. 211 00:11:24,800 --> 00:11:26,540 Wir werden später darüber reden. 212 00:11:26,540 --> 00:11:28,100 Und warum Rails? 213 00:11:28,100 --> 00:11:31,470 So MVC, das ist das Model-View-Controller wir über ein wenig gesprochen 214 00:11:31,470 --> 00:11:36,050 bit, macht alles einfacher, weil es Dinge, die sind unterteilt 215 00:11:36,050 --> 00:11:42,420 konzeptionell unterschiedliche in verschiedene Teile der Anwendung. 216 00:11:42,420 --> 00:11:45,930 Weniger Zeit auf niedrigem Niveau Probleme verbracht, wieder, und sehr sehr 217 00:11:45,930 --> 00:11:46,820 beliebt im Moment. 218 00:11:46,820 --> 00:11:52,130 Also für alle, die interessiert sind der Start-up-Szene, oder in etwas 219 00:11:52,130 --> 00:11:58,435 wie das Starten von Unternehmen und Personen in der Technologie-Markt, die sind 220 00:11:58,435 --> 00:12:02,440 ihr eigenes Unternehmen jetzt sind wirklich, wirklich Fans von Ruby on 221 00:12:02,440 --> 00:12:04,120 Rails, weil es so schnell ist. 222 00:12:04,120 --> 00:12:07,510 >> So können Sie etwas zum Laufen zu bekommen in weniger als einem Tag, und das ist 223 00:12:07,510 --> 00:12:10,410 wirklich eine sehr überzeugende Argument für Ruby. 224 00:12:10,410 --> 00:12:13,460 Und Rails 4.0 - 225 00:12:13,460 --> 00:12:15,920 es ist sehr frisch aus dem Ofen jetzt. 226 00:12:15,920 --> 00:12:16,930 So Rails 4.0 - 227 00:12:16,930 --> 00:12:20,180 Ich denke, die erste Veröffentlichung war im März dieses Jahres. 228 00:12:20,180 --> 00:12:23,460 Und es ist wirklich schön, es hat alles Arten von neuen, coolen Features. 229 00:12:23,460 --> 00:12:30,290 So Ruby on Rails ist ein Framework, das ist ständig aktualisiert, um alle haben 230 00:12:30,290 --> 00:12:31,540 von der neuen Technologie. 231 00:12:31,540 --> 00:12:33,710 232 00:12:33,710 --> 00:12:39,800 >> Das erste Mal habe ich versucht, Ruby on verwenden Rails, hatte ich diese Probleme, weil ich 233 00:12:39,800 --> 00:12:44,540 erstellt meine erste Web-Anwendung, und es sah genau so. 234 00:12:44,540 --> 00:12:49,020 So schafft all diese Dateien Sie, und ich hatte keine Ahnung, was - 235 00:12:49,020 --> 00:12:50,780 was ist das? 236 00:12:50,780 --> 00:12:54,850 Es erstellt alle diese Dateien, und nur ich wollte ein einfaches Programm zu erstellen, ein 237 00:12:54,850 --> 00:12:57,140 einfache HTML-Website. 238 00:12:57,140 --> 00:12:59,680 Und ich konnte nicht einmal etwas zu tun. 239 00:12:59,680 --> 00:13:02,430 So war ich ein wenig überfordert. 240 00:13:02,430 --> 00:13:08,350 Aber das ist eines der Dinge, dass, sobald Sie verstehen, wird alles so 241 00:13:08,350 --> 00:13:09,190 viel klarer. 242 00:13:09,190 --> 00:13:15,750 Also nicht von der ersten überwältigt werden Augen, was man auf den ersten erstellen. 243 00:13:15,750 --> 00:13:18,430 >> Also, was passiert ist, Rails erzeugt all diese Dateien. 244 00:13:18,430 --> 00:13:20,470 Also einer, dass ist doc, Dokumentation. 245 00:13:20,470 --> 00:13:23,080 Db, das ist in der Datenbank stehen. 246 00:13:23,080 --> 00:13:25,060 Lib, das ist Bibliotheken anmelden. 247 00:13:25,060 --> 00:13:28,200 Öffentliche, Drehbuch, und einige Dinge. 248 00:13:28,200 --> 00:13:32,110 So ziemlich alles, was Sie gehen, um Sorgen sind etwa ist die App-Ordner, dort oben. 249 00:13:32,110 --> 00:13:34,430 Das ist der Ordner, der Ihre Anwendung. 250 00:13:34,430 --> 00:13:35,540 Alle anderen Dateien - 251 00:13:35,540 --> 00:13:37,770 einige von ihnen sind wichtig, und du bist werde darüber später lernen. 252 00:13:37,770 --> 00:13:42,040 Aber sie sind nur hier, um enthalten den Rahmen. 253 00:13:42,040 --> 00:13:46,420 So die ersten Eckpfeiler des Hauses Sie Kerle bauen, OK? 254 00:13:46,420 --> 00:13:47,730 >> Aber die App-Ordner - 255 00:13:47,730 --> 00:13:49,630 das ist das wirklich wichtige. 256 00:13:49,630 --> 00:13:53,050 Und die App-Ordner verfügt über Vermögenswerte. 257 00:13:53,050 --> 00:13:57,690 Assets ist so ziemlich alles, was dass kommt. 258 00:13:57,690 --> 00:14:01,890 Bilder zum Beispiel alles, was ist statisch, das wird heruntergeladen werden 259 00:14:01,890 --> 00:14:03,450 auf Ihre Website. 260 00:14:03,450 --> 00:14:06,850 Also Bilder, JavaScript, CSS - 261 00:14:06,850 --> 00:14:08,520 diese Art von Dingen sind Vermögenswerte. 262 00:14:08,520 --> 00:14:11,310 263 00:14:11,310 --> 00:14:12,260 Controller - 264 00:14:12,260 --> 00:14:15,190 wir gehen, um mehr darüber zu sprechen was sind Controller, Modelle, 265 00:14:15,190 --> 00:14:16,800 und Felder in einer Sekunde. 266 00:14:16,800 --> 00:14:20,760 Und Helfer sind Funktionen, die Sie können alle über Ihrem Code verwenden 267 00:14:20,760 --> 00:14:22,800 Ihnen helfen, etwas zu tun. 268 00:14:22,800 --> 00:14:25,800 Funktionen wie angemeldet, für Beispiel - user.loggedin. 269 00:14:25,800 --> 00:14:29,500 Das ist eine Funktion, die Sie wahrscheinlich müssen alle Teile der Einsatz in 270 00:14:29,500 --> 00:14:30,030 Anwendung. 271 00:14:30,030 --> 00:14:33,590 So können Sie etwas wie setzen dass in Ihrem Helfer. 272 00:14:33,590 --> 00:14:34,370 >> Versandtaschen - 273 00:14:34,370 --> 00:14:41,480 das ist, wenn Sie sich zu senden sind eine E-Mail an die Benutzer, die Sie 274 00:14:41,480 --> 00:14:43,420 wollen ein Mailer verwenden. 275 00:14:43,420 --> 00:14:46,420 Und Modelle und Ansichten, wir gehen über dieses Recht jetzt zu sprechen. 276 00:14:46,420 --> 00:14:52,450 Also das Modell-View-Controller, das ist die Grundpfeiler der Ruby on 277 00:14:52,450 --> 00:14:55,730 Rails, und die meisten Frameworks heute, um ehrlich zu sein. 278 00:14:55,730 --> 00:15:01,180 Also noch einmal, trennen wir alle von unseren Code in drei verschiedene Teile. 279 00:15:01,180 --> 00:15:02,590 Das Modell - 280 00:15:02,590 --> 00:15:04,620 Das Modell ist im Grunde die Datenbank. 281 00:15:04,620 --> 00:15:06,090 Es verarbeitet die Dinge in der Datenbank. 282 00:15:06,090 --> 00:15:10,790 >> So wird jede Tabelle in der Datenbank hat ein entsprechende Datei innerhalb des Modells. 283 00:15:10,790 --> 00:15:13,330 Also ist es eine Art Tabelle für Ihre Benutzer. 284 00:15:13,330 --> 00:15:18,250 Sie sind also die Speicherung von Informationen wie die Benutzernamen, Ihre E-Mails, ihre 285 00:15:18,250 --> 00:15:20,970 Adresse, ihr Passwort, und solche Sachen. 286 00:15:20,970 --> 00:15:24,535 Du wirst in eine Datei haben das Modell mit der Bezeichnung Benutzer rb - 287 00:15:24,535 --> 00:15:26,240 rb für Ruby. 288 00:15:26,240 --> 00:15:30,180 Und da wollen Sie alle sind der Methoden und Variablen. 289 00:15:30,180 --> 00:15:34,130 Die Variablen gehen zu entsprechen dem Benutzernamen, der E-Mail, und 290 00:15:34,130 --> 00:15:35,370 alles. 291 00:15:35,370 --> 00:15:37,760 >> Und du wirst, um die Methoden zu haben. 292 00:15:37,760 --> 00:15:42,690 Das wird etwas über sein - 293 00:15:42,690 --> 00:15:46,400 Sie gehen, diese Informationen zu verarbeiten sind in der Datenbank. 294 00:15:46,400 --> 00:15:50,220 Um ein Modell mit Rails zu erstellen, Sie einfach Rails zu generieren. 295 00:15:50,220 --> 00:15:54,990 Und um die Dinge in Rails zu erstellen, tatsächlich benötigen Sie das Terminal. 296 00:15:54,990 --> 00:15:58,770 Also es ist ein sehr Terminal basiertes Framework. 297 00:15:58,770 --> 00:16:02,530 Sie müssen nur in das Terminal anmelden, und müssen Rails, Modell generieren. 298 00:16:02,530 --> 00:16:04,670 Und der Name des Modells Benutzer. 299 00:16:04,670 --> 00:16:10,270 Und ich will nur zwei Variablen, zwei Spalten in meiner Tabelle. 300 00:16:10,270 --> 00:16:11,450 Also das ist E-Mail. 301 00:16:11,450 --> 00:16:13,080 E-Mail ist eine Art Schnur. 302 00:16:13,080 --> 00:16:15,450 Passwort ist vergessen auch eine Art Schnur. 303 00:16:15,450 --> 00:16:16,520 Das sind die einzigen zwei Dinge. 304 00:16:16,520 --> 00:16:19,160 Es ist eine Art vereinBenutzerTabelle. 305 00:16:19,160 --> 00:16:22,490 Aber Sie setzen könnte ganz hundert Sache ist es, wenn man wollte. 306 00:16:22,490 --> 00:16:27,620 >> Und Rails macht es auch sehr, sehr einfach, alle haben 307 00:16:27,620 --> 00:16:30,040 Arten von Datenbankrelationen. 308 00:16:30,040 --> 00:16:36,100 Also in der Regel, wenn Sie Tabellen in Ihrer Datenbank, sind sie nicht sehr viel 309 00:16:36,100 --> 00:16:37,570 unabhängig voneinander. 310 00:16:37,570 --> 00:16:39,392 Lassen Sie uns darüber nachdenken. 311 00:16:39,392 --> 00:16:42,960 Sie wollen kaufen und verkaufen Produkte online. 312 00:16:42,960 --> 00:16:46,620 OK, so dass Sie eine Website, wo Sie wollen kaufen und verkaufen Produkte. 313 00:16:46,620 --> 00:16:55,060 Jeder Benutzer hat viele Produkte, die dieser Benutzer ist bereit, zu verkaufen. 314 00:16:55,060 --> 00:17:00,970 Und jeder Benutzer hat auch viele Transaktionen dass die laufenden sind, oder 315 00:17:00,970 --> 00:17:01,920 so ähnlich. 316 00:17:01,920 --> 00:17:05,430 Und die Transaktionen mit einem anderen Benutzer. 317 00:17:05,430 --> 00:17:08,310 Jede Transaktion gehört zwei verschiedene Benutzer. 318 00:17:08,310 --> 00:17:10,560 Der Benutzer, der kauft und der Benutzer, der ist verkauft. 319 00:17:10,560 --> 00:17:13,920 >> Das sind also die so genannte Datenbankrelationen. 320 00:17:13,920 --> 00:17:17,890 Und hier haben wir genau die Stichworte, und hat viele gehört. 321 00:17:17,890 --> 00:17:19,500 Das sind die wichtigsten. 322 00:17:19,500 --> 00:17:22,410 Und Sie gehen nur zu sagen, für Beispielsweise ist dies am Beispiel einer 323 00:17:22,410 --> 00:17:25,740 Modell 2017 in der Harvard-Website. 324 00:17:25,740 --> 00:17:28,820 Auch hier sind die Studenten hier - 325 00:17:28,820 --> 00:17:32,870 jeder Schüler auf der Website, Student wird ein Modell, ist eine Datenbanktabelle. 326 00:17:32,870 --> 00:17:37,560 Jeder Schüler hatte viele Bücher, weil Sie sagen konnte, was sind Ihre Lieblings 327 00:17:37,560 --> 00:17:38,630 Bücher, rechts. 328 00:17:38,630 --> 00:17:44,450 So ist jedes Buch gehört ein Student hier unten. 329 00:17:44,450 --> 00:17:46,910 Und Attribut zugänglich - 330 00:17:46,910 --> 00:17:49,580 das ist nur zu sagen, diejenigen, die Variablen sind. 331 00:17:49,580 --> 00:17:53,050 Dies sind die Variablen zugänglich von diesem Modell. 332 00:17:53,050 --> 00:17:58,570 Und die Variablen der Autor von das Buch, Beschreibung, Genre und 333 00:17:58,570 --> 00:17:59,870 Titel des Buches. 334 00:17:59,870 --> 00:18:02,700 Also nur die Informationen über das Buch. 335 00:18:02,700 --> 00:18:06,410 >> Und hier habe ich eine Methode, die sortiert einfach alles. 336 00:18:06,410 --> 00:18:10,710 So definieren und enden hier, das ist nur sagen, hier kommt meine Methode. 337 00:18:10,710 --> 00:18:13,220 Self.sorted_all. 338 00:18:13,220 --> 00:18:16,390 Das ist einfach, gib mir alles sortiert, und das ist, wie Sie bei der Implementierung 339 00:18:16,390 --> 00:18:22,360 die Sortieralgorithmus, Das ist ziemlich einfach. 340 00:18:22,360 --> 00:18:27,430 Aber im Grunde ist dies, wie ein Modell aussieht, OK. 341 00:18:27,430 --> 00:18:32,990 Hat jemand Fragen zu haben diese Datenbank Sache? 342 00:18:32,990 --> 00:18:33,736 Relations? 343 00:18:33,736 --> 00:18:36,430 Ist das klar? 344 00:18:36,430 --> 00:18:37,125 Ja. 345 00:18:37,125 --> 00:18:38,490 >> ZIELGRUPPE: Können Sie tun die Sortieralgorithmus? 346 00:18:38,490 --> 00:18:41,960 >> GABRIEL GUIMARAES: Die Sortieralgorithmus, OK. 347 00:18:41,960 --> 00:18:45,340 Wenn Sie Ruby-Syntax zu gewöhnen, es wird klar sein. 348 00:18:45,340 --> 00:18:48,800 Aber im Grunde ist Elems Book.all. 349 00:18:48,800 --> 00:18:50,820 So Buch ist der Name meines Modells. 350 00:18:50,820 --> 00:18:55,670 Wenn Sie ein Modell zu erstellen, kommt es mit allerlei nette Methoden für Sie. 351 00:18:55,670 --> 00:18:58,810 So dot.all ist eine Methode, gibt alle Bücher. 352 00:18:58,810 --> 00:19:02,560 Aber zu finden, zum Beispiel, würde für die Suche ein Buch und das Buch zurück, oder 353 00:19:02,560 --> 00:19:03,840 so ähnlich. 354 00:19:03,840 --> 00:19:05,990 Und so Elems ist alles. 355 00:19:05,990 --> 00:19:08,870 Und ich sage nur, elems.sort. 356 00:19:08,870 --> 00:19:11,300 Sortieren ist eine integrierte Funktion in Ruby. 357 00:19:11,300 --> 00:19:13,526 >> Und tun ab. 358 00:19:13,526 --> 00:19:15,940 Also das ist wieder nicht - 359 00:19:15,940 --> 00:19:17,400 Sie gehen zu sortieren. 360 00:19:17,400 --> 00:19:19,850 Aber Sie bekommen werden dieses Argument für mich. 361 00:19:19,850 --> 00:19:25,160 Und das Argument verwendet - dies ist einer der die härteren Dinge in Ruby tatsächlich, 362 00:19:25,160 --> 00:19:26,920 Dazu Sache. 363 00:19:26,920 --> 00:19:31,470 Aber wenn du einmal alles verstehen kommt sehr, sehr intuitiv. 364 00:19:31,470 --> 00:19:37,140 Also das ab, ist dies der Ort zu sagen Inhaber, die werde ich nutzen - wie 365 00:19:37,140 --> 00:19:41,760 die Variablen werde ich nutzen, sind gehen, um A und B genannt werden. 366 00:19:41,760 --> 00:19:43,380 Und das sind die Bücher. 367 00:19:43,380 --> 00:19:47,120 >> Also, da muss Art vergleichen Elemente, daran erinnern? 368 00:19:47,120 --> 00:19:49,760 Also, wenn Sie die Dinge zu sortieren, können Sie Vergleichen zwei Elementen. 369 00:19:49,760 --> 00:19:51,900 Ich werde sagen, dass jedes Mal, Sie gehen zu vergleichen - 370 00:19:51,900 --> 00:19:54,350 so ist dies, ich bin vorbei , um ein Argument zu sortieren. 371 00:19:54,350 --> 00:19:59,370 Und das Argument ist alles von do zu, und hier, OK? 372 00:19:59,370 --> 00:20:02,980 Und dieses Argument ist nur zu sagen Art, wie man miteinander vergleichen. 373 00:20:02,980 --> 00:20:07,460 Sortieren wäre hier zu arbeiten, aber es würde mit ihr vergleichen 374 00:20:07,460 --> 00:20:09,530 Standardalgorithmus vergleicht. 375 00:20:09,530 --> 00:20:13,810 Ich will, dass es in einem sehr spezifischen vergleichen Weise, nämlich dann, wenn das Buch 376 00:20:13,810 --> 00:20:16,900 erstellt wurde, wenn jeder Buch wurde erstellt. 377 00:20:16,900 --> 00:20:21,090 >> Also ich sage, sagen Sie den Namen des ersten Buch ist ein und der Name des 378 00:20:21,090 --> 00:20:27,620 zweiten Buch als b, möchte ich Art zu sortieren etwas auf dieser Basis b.created_at 379 00:20:27,620 --> 00:20:30,000 seltsame Symbol, a.created_at. 380 00:20:30,000 --> 00:20:34,350 Und das seltsame Symbol ist eine Kurzform denn wenn man größer ist als die 381 00:20:34,350 --> 00:20:35,380 andere, kehren ein. 382 00:20:35,380 --> 00:20:37,450 Wenn man gleich das ist anderen, Null zurück. 383 00:20:37,450 --> 00:20:41,180 Wenn eine kleiner ist als die andere, Rück minus 1. 384 00:20:41,180 --> 00:20:43,435 Also das ist, was das seltsame Symbol ist. 385 00:20:43,435 --> 00:20:46,680 386 00:20:46,680 --> 00:20:47,500 >> Aber das ist nicht wichtig. 387 00:20:47,500 --> 00:20:52,780 Ich meine, was ich will euch zu bekommen Jetzt ist die Idee, dass die Datenbank - 388 00:20:52,780 --> 00:20:54,150 Sie können das Modell dort zu haben. 389 00:20:54,150 --> 00:20:59,850 Sie müssen sich also keine Sorgen zu machen Anschluss und Verwendung SQL-Anweisung, 390 00:20:59,850 --> 00:21:00,500 und solche Sachen. 391 00:21:00,500 --> 00:21:04,920 Es kann auch Türen zu schaffen SQL-Injection und alle 392 00:21:04,920 --> 00:21:06,460 Arten von Sicherheitsproblemen. 393 00:21:06,460 --> 00:21:07,930 In diesem Fall, brauchen Sie nicht Sorgen darüber. 394 00:21:07,930 --> 00:21:11,880 Sie verwenden nur Methoden wie book.all. 395 00:21:11,880 --> 00:21:15,210 Und, dass im Hintergrund natürlich wird zu Ihrer Datenbank gehen, und es ist 396 00:21:15,210 --> 00:21:17,570 gehen, um eine SQL-Anweisung , alle Bücher zu bekommen. 397 00:21:17,570 --> 00:21:19,650 Aber Sie müssen nicht zu haben, Sorgen darüber. 398 00:21:19,650 --> 00:21:24,090 Das ist das Mitnehmen, OK? 399 00:21:24,090 --> 00:21:26,790 >> Und wenn Sie eine belongs_to Äußerung so bedeutet das, dass 400 00:21:26,790 --> 00:21:31,780 wenn Sie ein Buch-Objekt, müssen Sie sehen kann, was ist seine Schüler. 401 00:21:31,780 --> 00:21:34,130 So, die Schüler dieses Buch hat? 402 00:21:34,130 --> 00:21:38,760 So können wir nur nutzen book.student und das gibt, was die Schüler ist. 403 00:21:38,760 --> 00:21:42,440 Und das ist ein wirklich verfügen zu müssen. 404 00:21:42,440 --> 00:21:43,950 >> OK, jetzt die Aussicht. 405 00:21:43,950 --> 00:21:48,380 So ist das Modell, was interagiert mit der Datenbank, oder? 406 00:21:48,380 --> 00:21:52,240 Die Ansicht ist im Grunde HTML und CSS, und einige JavaScript. 407 00:21:52,240 --> 00:21:55,080 Und das ist, was der Benutzer tatsächlich sieht. 408 00:21:55,080 --> 00:21:56,540 Der Benutzer wird nicht zu sehen Sie Ihre Datenbank. 409 00:21:56,540 --> 00:22:00,290 Er wird einige Daten aus der zu sehen Datenbank im Viewer eingebettet. 410 00:22:00,290 --> 00:22:04,940 411 00:22:04,940 --> 00:22:08,410 Ruby on Rails macht es wirklich einfach auf Felder zu machen. 412 00:22:08,410 --> 00:22:12,780 Erstens, weil es schafft bereits für Sie, aus der Box, einem Layout. 413 00:22:12,780 --> 00:22:16,200 >> Ein Layout ist im Grunde etwas, das - 414 00:22:16,200 --> 00:22:24,230 wenn alle Seiten ein Logo auf der Oberseite , und ich weiß es nicht, einige Menü-oder 415 00:22:24,230 --> 00:22:29,000 so ähnlich, dass alle Ihre Seiten gemeinsam haben, dann können Sie nicht tun, 416 00:22:29,000 --> 00:22:34,830 müssen viele, viele, viele HTML erstellen Dateien, in denen alle Dateien haben, dass 417 00:22:34,830 --> 00:22:36,830 elbe HTML-Code. 418 00:22:36,830 --> 00:22:40,700 Ich meine, das ist dumm, weil Sie gerade sind Wiederholen Code zwischen verschiedenen Dateien. 419 00:22:40,700 --> 00:22:42,480 Das ist definitiv kein guter Ansatz. 420 00:22:42,480 --> 00:22:45,660 >> So Ruby on Rails erzeugt dieses Layout für Sie. 421 00:22:45,660 --> 00:22:49,770 Und das ist nur zu sagen, alle meine Seiten werden diesen HTML haben, diesen Kopf 422 00:22:49,770 --> 00:22:54,805 Titel hier, und das sind Stylesheet-Link-Tag. 423 00:22:54,805 --> 00:22:56,800 Stecken Sie hier alle meine CSS. 424 00:22:56,800 --> 00:23:01,194 Stecken Sie hier alle meine JavaScript und einige Meta-Tags. 425 00:23:01,194 --> 00:23:04,440 Das ist einfach etwas, das sie automatisch für Sie tun. 426 00:23:04,440 --> 00:23:07,490 Und dann, am Ende der Kopf, jetzt Hier beginnt der Körper. 427 00:23:07,490 --> 00:23:09,780 Und das ist jetzt meine eigentliche Inhalt. 428 00:23:09,780 --> 00:23:16,620 Also, wenn ich auf etwas setzen, wie eine wollte Menü hier, würde ich es direkt über setzen 429 00:23:16,620 --> 00:23:19,600 dieser Ort, oder so ähnlich, so, dass alle meine Seiten teilte es. 430 00:23:19,600 --> 00:23:21,730 Also das Layout wird geteilt von allen Seiten. 431 00:23:21,730 --> 00:23:26,500 >> Jetzt nur noch, daß der Ertrag hier sagt, keine welche Seiten das ist in nur Materie 432 00:23:26,500 --> 00:23:30,560 stecken Sie den Inhalt, dass Seite hier, OK? 433 00:23:30,560 --> 00:23:33,770 Und jetzt ist dies beispielsweise die Inhalt einer Seite, die gehen, um sein 434 00:23:33,770 --> 00:23:38,950 in diesem yield-Anweisung gesteckt automatisch von Rails. 435 00:23:38,950 --> 00:23:40,700 Aber das ist ein Layout geteilt von allen Seiten. 436 00:23:40,700 --> 00:23:42,500 Und dies ist ein Beispiel für eine Seite. 437 00:23:42,500 --> 00:23:46,410 Und das ist genau die Seite dass alle Bücher aufgelistet sind. 438 00:23:46,410 --> 00:23:49,390 Das ist also eine einfache HTML-Tabelle bis oben. 439 00:23:49,390 --> 00:23:53,730 So Auflistung Bücher, ein Titel, Autor, Beschreibung, Genre. 440 00:23:53,730 --> 00:24:00,810 >> Und hier setzen wir wieder einige Ruby-Syntax @ books.each-- 441 00:24:00,810 --> 00:24:07,720 @ Art sagt, dass Ihre Variable in einem globalen Sinn. 442 00:24:07,720 --> 00:24:10,940 Da diese Variable war eigentlich in der Steuereinheit deklariert die 443 00:24:10,940 --> 00:24:12,840 Sie gehen zu Recht jetzt sehen. 444 00:24:12,840 --> 00:24:18,570 Aber gerade für selbstverständlich, dass diese @ Bücher ist eine Variable, die eine Liste ist 445 00:24:18,570 --> 00:24:20,000 alle Bücher. 446 00:24:20,000 --> 00:24:24,580 So books.each, zu tun, und auch dies ist einfach nur sagen, wie Sie zu nennen wollen 447 00:24:24,580 --> 00:24:29,580 jeder der Iteratoren, so dass wir nicht haben, um über eine vier Sorge, int i 448 00:24:29,580 --> 00:24:30,630 blah, blah, blah. 449 00:24:30,630 --> 00:24:33,760 Wir nehmen nur jedem der Elemente und verwenden. 450 00:24:33,760 --> 00:24:38,890 >> Also das ist das Buch, und dann einfach drucken hier. book.title, book.author, 451 00:24:38,890 --> 00:24:41,020 book.description und blah, blah, blah. 452 00:24:41,020 --> 00:24:42,940 Und hier ist ein link_to. 453 00:24:42,940 --> 00:24:46,840 So link_to ist nur ein Link-Tag dass ein Benutzer und klicken Sie auf 454 00:24:46,840 --> 00:24:49,040 geht zu einer anderen Website. 455 00:24:49,040 --> 00:24:51,160 Link_to, zeigen, dass insbesondere Buch. 456 00:24:51,160 --> 00:24:56,480 Also, wenn der Benutzer sehr interessiert, ist dieses Buch, dann ist er auf der Messe klicken können. 457 00:24:56,480 --> 00:24:59,350 Oder klicken Sie auf Bearbeiten, wenn er will , das Buch zu bearbeiten. 458 00:24:59,350 --> 00:25:03,560 Oder zerstören, wenn er löschen möchte das Buch aus der Datenbank. 459 00:25:03,560 --> 00:25:06,260 OK, ist das sinnvoll? 460 00:25:06,260 --> 00:25:08,610 Gut. 461 00:25:08,610 --> 00:25:10,600 >> Schließlich ist die Steuerung. 462 00:25:10,600 --> 00:25:17,150 Also im Grunde die Steuerung Die Schnittstelle zwischen dem 463 00:25:17,150 --> 00:25:20,040 Modell und die Aussicht. 464 00:25:20,040 --> 00:25:25,120 So ist das Modell der Teil der Code, der Datenbank hat - 465 00:25:25,120 --> 00:25:27,620 jede Tabelle in der Datenbank hat eine entsprechende Datei im 466 00:25:27,620 --> 00:25:30,120 Modell, und so weiter. 467 00:25:30,120 --> 00:25:34,890 Und wie das Modell und der Blick interagieren? 468 00:25:34,890 --> 00:25:36,990 So durch die Steuerung. 469 00:25:36,990 --> 00:25:43,620 Was für ein Controller tut, ist es die Modell für so etwas wie, zum Beispiel, 470 00:25:43,620 --> 00:25:46,510 setzen alle innerhalb des Buches einer Variablen. 471 00:25:46,510 --> 00:25:47,760 Wie diese, @ Bücher. 472 00:25:47,760 --> 00:25:50,200 473 00:25:50,200 --> 00:25:54,800 >> Und es muss global mit diesem zu sein bei Sache, weil es sich auf sein 474 00:25:54,800 --> 00:25:56,180 der Ansicht aufgerufen. 475 00:25:56,180 --> 00:26:00,000 Es wird nicht innerhalb verwendet werden Die Steuerung selbst. 476 00:26:00,000 --> 00:26:03,160 Und es ist nur verlangsamt Informationen, die der Blick geht zu bedienen. 477 00:26:03,160 --> 00:26:08,030 Zum Beispiel prüft die Steuer wenn der Benutzer online ist. 478 00:26:08,030 --> 00:26:09,620 Und wie macht sie das? 479 00:26:09,620 --> 00:26:11,760 Es fragt eigentlich das Modell weil das Modell hat der 480 00:26:11,760 --> 00:26:12,890 Informationen über den Benutzer. 481 00:26:12,890 --> 00:26:15,840 Es hat eine Benutzer-Tabelle, die Bücher Tisch, anderen Tabellen. 482 00:26:15,840 --> 00:26:18,560 Also der Controller fragt, ob der Benutzer online ist. 483 00:26:18,560 --> 00:26:23,760 Wenn der Benutzer online ist, die Steuereinheit Griffe Dinge, wie wenn man ein Cookie, 484 00:26:23,760 --> 00:26:28,120 oder so etwas, um den Stempel zu setzen zu sagen, dass der Benutzer online ist. 485 00:26:28,120 --> 00:26:29,930 Keine Notwendigkeit, sich erneut anzumelden. 486 00:26:29,930 --> 00:26:34,080 >> Und es geht um eine Variable zu laden Benutzer, zum Beispiel, dass die 487 00:26:34,080 --> 00:26:35,130 Ansicht verwenden können. 488 00:26:35,130 --> 00:26:42,375 Und der Blick hier etwas gesagt, zum Beispiel, begrüßen user.name. 489 00:26:42,375 --> 00:26:46,040 Es wird also zu sagen, willkommen John, willkommen James - 490 00:26:46,040 --> 00:26:47,390 so etwas, oder? 491 00:26:47,390 --> 00:26:50,380 Also alle diese Variablen in die verwendete Ansicht gehen, um in die geladen werden 492 00:26:50,380 --> 00:26:54,190 Controller und sein werden, gezogen aus dem Modell. 493 00:26:54,190 --> 00:26:58,310 494 00:26:58,310 --> 00:27:00,555 >> Dies ist das Beispiel einer Steuerung. 495 00:27:00,555 --> 00:27:03,140 496 00:27:03,140 --> 00:27:08,640 So haben wir im Grunde jeder - 497 00:27:08,640 --> 00:27:10,010 nennen wir die Dinge, Handlungen. 498 00:27:10,010 --> 00:27:11,570 So Index ist eine Aktion. 499 00:27:11,570 --> 00:27:13,820 Es ist ein Ruby-Funktion. 500 00:27:13,820 --> 00:27:16,160 Es ist ein in Ruby-Methode gibt. 501 00:27:16,160 --> 00:27:19,350 Aber für die Steuerung Anrufe die Dinge, Handlungen. 502 00:27:19,350 --> 00:27:24,830 Und jede Aktion zu einer Route zusammen. 503 00:27:24,830 --> 00:27:29,350 Also hier diese Strecke, zum Beispiel, ist ein get Statement / Bücher. 504 00:27:29,350 --> 00:27:37,500 Also, wenn Sie harvard2017.com/books gehen, was passieren wird, ist dieser Code 505 00:27:37,500 --> 00:27:40,630 werde aufgerufen werden. 506 00:27:40,630 --> 00:27:44,290 >> Und es gibt eine Datei - 507 00:27:44,290 --> 00:27:46,010 lassen Sie mich diese ganz schnell öffnen. 508 00:27:46,010 --> 00:27:51,310 509 00:27:51,310 --> 00:27:55,386 Es gibt eine Datei namens Raw-Datei. 510 00:27:55,386 --> 00:27:57,920 Es ist nicht zu öffnen. 511 00:27:57,920 --> 00:28:02,330 Also gibt es eine Datei namens Raw-Datei dass im Grunde übereinstimmt - 512 00:28:02,330 --> 00:28:03,580 oh, jetzt ist es zu öffnen. 513 00:28:03,580 --> 00:28:15,900 514 00:28:15,900 --> 00:28:17,550 Hier Routen. 515 00:28:17,550 --> 00:28:24,440 Also im Grunde entspricht eine Belastung, Aktivierung / new beispielsweise 516 00:28:24,440 --> 00:28:27,810 was in der Steuerung. 517 00:28:27,810 --> 00:28:31,580 So gibt es diese Controller aufgerufen Aktivierungs-Controller, aber hier, 518 00:28:31,580 --> 00:28:32,790 Wir haben die Bücher, zum Beispiel. 519 00:28:32,790 --> 00:28:33,740 So passt - 520 00:28:33,740 --> 00:28:39,040 Bücher / neue, an den Controller Bücher, die Aktion neu. 521 00:28:39,040 --> 00:28:41,290 Also im Grunde sehr einfach Dinge. 522 00:28:41,290 --> 00:28:43,970 523 00:28:43,970 --> 00:28:48,770 >> Und hier, wenn Sie hatte zu / Bücher zu bekommen, Schrägstrich die ID der Bücher, Schrägstrich neu, 524 00:28:48,770 --> 00:28:53,250 Sie gehen, um zu gehen, dass du Ruby-Methode dort unten. 525 00:28:53,250 --> 00:28:58,210 So, hier, was dieses Index wird dabei wird nur das Laden Buch Protokoll. 526 00:28:58,210 --> 00:28:59,570 Das ist etwas, das - 527 00:28:59,570 --> 00:29:02,160 Ich alle Bücher in einer Protokoll anmelden. 528 00:29:02,160 --> 00:29:03,050 Und das alles zu sortieren. 529 00:29:03,050 --> 00:29:05,870 Also das werde zurückkehren alle Bücher sortiert. 530 00:29:05,870 --> 00:29:07,940 Dies ist wiederum in der Datenbank. 531 00:29:07,940 --> 00:29:09,570 So ist dies ein Verfahren des Modells. 532 00:29:09,570 --> 00:29:12,440 Sie haben gesehen, wobei dieses Verfahren im Modell erstellt. 533 00:29:12,440 --> 00:29:16,170 Nun ist dies nur das Laden aller Bücher und setzen, dass eine Variable, die 534 00:29:16,170 --> 00:29:17,490 kann durch die Ansicht zu sehen. 535 00:29:17,490 --> 00:29:20,680 >> Weil Sie sich nicht, in der Mitte des Ihren HTML-Code, können Sie nicht anrufen können 536 00:29:20,680 --> 00:29:23,940 etwas direkt aus dem Modell, wegen zwei Gründen. 537 00:29:23,940 --> 00:29:28,260 Erste, aus Sicherheitsgründen, da es ist nicht wirklich interessant zu sein 538 00:29:28,260 --> 00:29:32,920 Informationen direkt im Laden jeder HTML, die in der Datenbank ist. 539 00:29:32,920 --> 00:29:36,030 Und zweitens, um Ihre halten Code wirklich organisiert. 540 00:29:36,030 --> 00:29:38,800 So genau, trennen die verschiedene Teile. 541 00:29:38,800 --> 00:29:42,830 So BookLog.sorted_all, diese in die Datenbank und das wird kannst 542 00:29:42,830 --> 00:29:44,290 eine Variable @ Bücher. 543 00:29:44,290 --> 00:29:47,695 Und jetzt diese Variable zugänglich ist in Ihrem HTML-Code. 544 00:29:47,695 --> 00:29:54,610 So können Sie diese einfach alle Bücher gibt es einfach wie wir, genau hier. 545 00:29:54,610 --> 00:29:57,760 Dies ist die Variable. 546 00:29:57,760 --> 00:30:04,730 >> Und Besuche respond_to tun | format |, das ist nur eine Art von Ruby-Syntax für 547 00:30:04,730 --> 00:30:08,140 wenn der Benutzer fragen mich, für HTML-Code, ich bin zu gehen 548 00:30:08,140 --> 00:30:09,340 antworten mit HTML-Code. 549 00:30:09,340 --> 00:30:15,500 Wenn der Benutzer aufgefordert, mich mit JSON-Code, das ist etwas, das Web-Apps nutzen, ist 550 00:30:15,500 --> 00:30:20,780 , untereinander zu kommunizieren, sie Regel verwenden JSON oder eine andere 551 00:30:20,780 --> 00:30:23,120 Art der Sache. 552 00:30:23,120 --> 00:30:25,850 So ist es nur reagiert, mit denen zwei verschiedenen Formaten. 553 00:30:25,850 --> 00:30:31,720 Aber für einen normalen Benutzer, diese müssten nicht hier sein. 554 00:30:31,720 --> 00:30:34,060 Sie würden nur reagieren mit HTML, und das ist gut. 555 00:30:34,060 --> 00:30:36,220 Also nicht wirklich Sorgen machen, dass viel darüber. 556 00:30:36,220 --> 00:30:39,510 Dies ist der einzige Codezeile in unserer Kontrolle, wie es aus HTML-Laden 557 00:30:39,510 --> 00:30:42,630 Datenbank, indem in etwas, das ist von der Sicht zu erreichen. 558 00:30:42,630 --> 00:30:49,870 >> Und dann neu, so dass hier Ich erstelle Bücher. 559 00:30:49,870 --> 00:30:55,490 Aber, um Bücher zu erstellen, brauche ich eine Studenten denn ich brauche, um die Schüler wissen, 560 00:30:55,490 --> 00:30:58,490 dessen Bücher dieser gehören, richtig. 561 00:30:58,490 --> 00:31:00,780 Also @ student = Studenten. 562 00:31:00,780 --> 00:31:06,500 Student, wieder, wir sind mit der Start eine große S ist der Musterschüler. 563 00:31:06,500 --> 00:31:09,380 OK, das ist so das Modell Student, Dieses Buch ist das Modell Protokoll. 564 00:31:09,380 --> 00:31:15,150 Student.find, so werde ich zu finden, ein Schüler mit den Parametern ID. 565 00:31:15,150 --> 00:31:19,160 params.id, das ist nur um mich den Wert dieser ID, die übergeben wurde - 566 00:31:19,160 --> 00:31:23,410 und die URL. 567 00:31:23,410 --> 00:31:25,440 >> Gerade gehen, um für diesen Schüler zu suchen. 568 00:31:25,440 --> 00:31:28,420 Und zuerst, wir werden überprüfen wenn der Student hat einige Songs 569 00:31:28,420 --> 00:31:29,910 und blah, blah, blah. 570 00:31:29,910 --> 00:31:35,570 Und das bereits behandelt der Fall, wenn der Student 571 00:31:35,570 --> 00:31:38,340 nicht vorhanden ist, zum Beispiel. 572 00:31:38,340 --> 00:31:44,450 Und dann, sonst, wir antworten auf die gleiche Sache mit HTML. 573 00:31:44,450 --> 00:31:47,570 Und dann können wir dem Anwender lassen schaffen ihre Songs. 574 00:31:47,570 --> 00:31:49,320 Also das ist neu. 575 00:31:49,320 --> 00:31:52,580 Neu ist in der Regel für, lassen Sie verwendet der Benutzer etwas schaffen. 576 00:31:52,580 --> 00:31:56,440 Und dann gibt es die Aktion zu erstellen das ist in der Regel verwendet - 577 00:31:56,440 --> 00:31:59,040 tatsächlich legte die Songs in der Datenbank oder so ähnlich. 578 00:31:59,040 --> 00:32:01,770 Aber sobald man mit Rails zu starten, die Dinge sein werden, 579 00:32:01,770 --> 00:32:05,110 viel, viel mehr klar. 580 00:32:05,110 --> 00:32:07,910 OK, abkühlen. 581 00:32:07,910 --> 00:32:09,715 Haben Sie Fragen so weit? 582 00:32:09,715 --> 00:32:15,240 Hat es Sinn macht, mit Controller, Modelle, Felder - 583 00:32:15,240 --> 00:32:17,860 ja? 584 00:32:17,860 --> 00:32:20,980 >> Auch in Ihrer Rails-Anwendung - 585 00:32:20,980 --> 00:32:24,700 so all das kann hier gefunden werden. 586 00:32:24,700 --> 00:32:30,430 So können Sie App, Controller, die haben sind alle meine Controller. 587 00:32:30,430 --> 00:32:32,880 So zum Beispiel, steuern Bücher. 588 00:32:32,880 --> 00:32:35,490 Das ist die, die wir gerade gesehen. 589 00:32:35,490 --> 00:32:36,400 Und dann Blick. 590 00:32:36,400 --> 00:32:39,750 Und jeder Controller verfügt über eine zugeordneten Ansicht, oder? 591 00:32:39,750 --> 00:32:43,750 So automatisch, wenn Sie diesen Aufruf Index hier, zum Beispiel, oder wenn Sie 592 00:32:43,750 --> 00:32:49,930 nennen diese neue Bücher, dann die Ansicht, Bücher, wird neue werde aufgerufen werden. 593 00:32:49,930 --> 00:32:53,300 >> So Rails tut alles automatisch für Sie. 594 00:32:53,300 --> 00:32:59,420 Also jeder Controller eine zugehörige hat anzeigen und alle Modelle - 595 00:32:59,420 --> 00:33:01,970 hier habe ich ein, zwei, drei, vier, fünf Modelle. 596 00:33:01,970 --> 00:33:05,800 Aber das ist ein Schülermodell, so dass diejenigen, sind die Variablen, die ganze 597 00:33:05,800 --> 00:33:08,620 Studenten haben - Lokalisierung, Geburtsdatum. 598 00:33:08,620 --> 00:33:11,270 Studierende ist ein bisschen mehr kompliziert, weil jeder Schüler 599 00:33:11,270 --> 00:33:15,400 mehr verschiedene Verfahren es zugeordnet ist. 600 00:33:15,400 --> 00:33:18,770 Aber das ist nur der Umgang mit Tabelle, die hatten alle die 601 00:33:18,770 --> 00:33:21,980 Studenten in der Datenbank. 602 00:33:21,980 --> 00:33:24,300 >> Und, OK, die Installation von Rails. 603 00:33:24,300 --> 00:33:27,710 Installation von Rails, um ehrlich zu sein, ist nicht die einfachste Sache. 604 00:33:27,710 --> 00:33:32,980 Aber wenn man einmal alles zu bekommen, es ist sehr, sehr einfach. 605 00:33:32,980 --> 00:33:38,810 So installieren Rails, die Sie gerade auf dem Sprung Website, rubyandrails.org / download 606 00:33:38,810 --> 00:33:41,510 und folgen Sie den Anweisungen. 607 00:33:41,510 --> 00:33:42,700 Laden Sie alles. 608 00:33:42,700 --> 00:33:46,600 Und Sie können, dass entweder in Appliance tun, in der CS50-Appliance auf 609 00:33:46,600 --> 00:33:51,120 Windows auf dem Mac, oder jede Betriebs System Ihrer Wahl. 610 00:33:51,120 --> 00:33:52,460 Ruby on Rails läuft auf alles. 611 00:33:52,460 --> 00:33:56,680 >> Quoten sind Sie bereits installiert Rubin wenn Sie einen Mac oder - 612 00:33:56,680 --> 00:33:58,130 in den Geräten Ich denke, Ruby ist - 613 00:33:58,130 --> 00:34:00,940 Ich bin nicht sicher. 614 00:34:00,940 --> 00:34:02,440 Und dann müssen Sie nur diese installiert. 615 00:34:02,440 --> 00:34:07,190 Und wenn Sie eine neue erstellen möchten Web-Anwendung, die Sie gerade 616 00:34:07,190 --> 00:34:10,270 tun, Rails, neu, Blog. 617 00:34:10,270 --> 00:34:12,429 Rails, neu - 618 00:34:12,429 --> 00:34:13,310 Ich weiß nicht - 619 00:34:13,310 --> 00:34:15,050 der Name der Website. 620 00:34:15,050 --> 00:34:16,380 Und es ist so einfach. 621 00:34:16,380 --> 00:34:19,060 >> Es geht um all jene zu schaffen Dateien, die ich zeigte, die Sie gerade. 622 00:34:19,060 --> 00:34:22,730 Aber das Modell, die Aussicht, und die Controller sind nicht zu sein 623 00:34:22,730 --> 00:34:24,330 noch besiedelt. 624 00:34:24,330 --> 00:34:28,710 Sie sind nur zu haben, um dorthin zu gehen und füllen diese drei Ordner. 625 00:34:28,710 --> 00:34:32,840 Also Chancen sind, können Sie ein Modell erstellen möchten, zum Beispiel implementieren ein 626 00:34:32,840 --> 00:34:33,780 modellieren zuerst. 627 00:34:33,780 --> 00:34:40,440 Also noch einmal, immer versucht kleiner zu beißen Bits von einem Problem zu einem Zeitpunkt. 628 00:34:40,440 --> 00:34:42,659 >> Und dann sagen wir, zu erstellen ein Modell für die Benutzer. 629 00:34:42,659 --> 00:34:44,370 Das ist das erste, was wenn Sie Nutzer. 630 00:34:44,370 --> 00:34:48,440 Dann möchte ich, um ein Modell zu erstellen genau wie wir hier zeigte. 631 00:34:48,440 --> 00:34:58,470 Rails, erzeugen, Modell, Benutzer-und dann E-Mails string - das haben wir hier. 632 00:34:58,470 --> 00:35:01,200 Und gerade dieses Modell zu erstellen, ja. 633 00:35:01,200 --> 00:35:05,030 Rails erzeugen Modell Benutzer per E-Mail: string Kennwort: String. 634 00:35:05,030 --> 00:35:09,650 >> Und dann haben Sie einen Controller erstellen dass sich mit dem Benutzer. 635 00:35:09,650 --> 00:35:12,790 Und Sie können neue Benutzer anlegen und tun, diese Art von Dingen. 636 00:35:12,790 --> 00:35:18,280 Und dann kann man auf die Schaffung bewegen der Rest Ihrer Website. 637 00:35:18,280 --> 00:35:22,470 Cool, noch Fragen? 638 00:35:22,470 --> 00:35:23,230 Ja. 639 00:35:23,230 --> 00:35:24,480 >> ZIELGRUPPE: [unverständlich] 640 00:35:24,480 --> 00:35:27,430 641 00:35:27,430 --> 00:35:29,910 >> GABRIEL GUIMARAES: Ja, ja, Sie auf jeden Fall haben, in den Blick zu gehen. 642 00:35:29,910 --> 00:35:31,290 Das ist eine sehr gute Frage. 643 00:35:31,290 --> 00:35:36,410 Also die Aussicht ist, was tatsächlich enthält Ihre HTML. 644 00:35:36,410 --> 00:35:39,240 So ist es, was die Benutzer werden sehen. 645 00:35:39,240 --> 00:35:46,690 Auch hier ist dies ein Beispiel einer Ansicht. 646 00:35:46,690 --> 00:35:52,040 Es hat HTML-Code und Ruby Code zur gleichen Zeit. 647 00:35:52,040 --> 00:35:56,010 So ist die Ruby-Code ist da, um Dinge setzen aus der Datenbank, beispielsweise 648 00:35:56,010 --> 00:35:59,150 die auf die Steuerung geladen wurden. 649 00:35:59,150 --> 00:36:04,240 So daß Variable @ Bücher beispielsweise hat alle Bücher und die Tabelle 650 00:36:04,240 --> 00:36:05,340 Bücher in der Datenbank. 651 00:36:05,340 --> 00:36:08,680 Wir haben darauf geachtet, dass es hatte in der Steuerung. 652 00:36:08,680 --> 00:36:10,250 >> Und der Blick - 653 00:36:10,250 --> 00:36:15,900 jede der Seiten aus Ihrer Website ist gehen zu einem zugeordneten Ansicht haben. 654 00:36:15,900 --> 00:36:21,762 Also, wenn Sie auf die Startseite zu gehen, die ersten Seite, harvard2017.com. 655 00:36:21,762 --> 00:36:23,490 Das zeigt eine Seite. 656 00:36:23,490 --> 00:36:26,760 Und dann gehen Sie zum Profil senken. 657 00:36:26,760 --> 00:36:30,150 Das wird mit einem Controller gehen das ist ein Profil-Controller. 658 00:36:30,150 --> 00:36:34,620 Und das Profil-Controller wird Sie das Profil-Ansicht zu geben. 659 00:36:34,620 --> 00:36:37,590 Und die Profilansicht wird sich freuen etwas wie diese, aber es geht um 660 00:36:37,590 --> 00:36:41,910 haben Informationen über den Benutzer, und nicht über die Bücher. 661 00:36:41,910 --> 00:36:46,840 >> So ist es HTML-Code und CSS und die ist Dinge, die ein Benutzer sieht 662 00:36:46,840 --> 00:36:49,680 mit der Ruby-Code - 663 00:36:49,680 --> 00:36:52,505 dass tatsächlich druckt Dinge aus der Datenbank. 664 00:36:52,505 --> 00:36:54,520 Ist das mehr klar? 665 00:36:54,520 --> 00:36:55,080 Ich hoffe. 666 00:36:55,080 --> 00:36:58,066 >> ZIELGRUPPE: Der HTML-Code wird verwendet, um tatsächlich auf der Website, dass die 667 00:36:58,066 --> 00:37:02,470 Benutzer sieht, aber die Ruby-Code ist was macht die Website funktioniert? 668 00:37:02,470 --> 00:37:06,500 >> GABRIEL GUIMARAES: Der Ruby-Code wird in HTML umgewandelt. 669 00:37:06,500 --> 00:37:09,420 Also, was der Benutzer erhält nur HTML, OK? 670 00:37:09,420 --> 00:37:10,900 Es ist nur HTML. 671 00:37:10,900 --> 00:37:18,740 Diese book.title wird zu konvertieren der Wert der book.title in HTML, OK. 672 00:37:18,740 --> 00:37:23,080 So ist alles in dem Server, und so dies hängt davon ab, welche Bücher gibt es 673 00:37:23,080 --> 00:37:24,410 in der Server jetzt. 674 00:37:24,410 --> 00:37:32,930 Aber was würde der Server sofort Sinn ist nur HTML-Code, OK. 675 00:37:32,930 --> 00:37:36,720 >> Aber der Blick gibt nur das Layout der was die HTML würde aussehen 676 00:37:36,720 --> 00:37:39,530 und was die Variablen sein werden. 677 00:37:39,530 --> 00:37:42,170 Diese Art von Ausdruck, OK. 678 00:37:42,170 --> 00:37:44,360 Diese Dinge gibt es im Grunde Ausdrucke. 679 00:37:44,360 --> 00:37:47,430 Sie werden Variablen zu drucken, OK. 680 00:37:47,430 --> 00:37:49,850 Also, was ist nur HTML, die - 681 00:37:49,850 --> 00:37:51,390 Autor, Titel, Beschreibung. 682 00:37:51,390 --> 00:37:53,540 Das ist statische Inhalte. 683 00:37:53,540 --> 00:37:54,520 Das ist nicht zu ändern. 684 00:37:54,520 --> 00:37:56,700 Das ist einfach nur HTML-Code. 685 00:37:56,700 --> 00:37:59,080 Das sind die Ausdrucke für Variablen - 686 00:37:59,080 --> 00:38:00,330 Dinge, die abhängen. 687 00:38:00,330 --> 00:38:02,350 688 00:38:02,350 --> 00:38:03,600 Cool, noch Fragen? 689 00:38:03,600 --> 00:38:12,120 690 00:38:12,120 --> 00:38:12,600 Good? 691 00:38:12,600 --> 00:38:13,080 Ja. 692 00:38:13,080 --> 00:38:15,720 >> ZIELGRUPPE: Ich denke, Sie taten alles die Bearbeitung in einem anderen Text 693 00:38:15,720 --> 00:38:16,920 Bearbeitungsprogramm. 694 00:38:16,920 --> 00:38:19,520 Sollten wir auch, dass downloaden? 695 00:38:19,520 --> 00:38:24,250 >> GABRIEL GUIMARAES: Ja, Ich mag diese Texteditor Textmate genannt. 696 00:38:24,250 --> 00:38:24,990 Und es ist wirklich gut. 697 00:38:24,990 --> 00:38:26,980 Es ist gut Ruby geeignet. 698 00:38:26,980 --> 00:38:29,270 Es Farben Dinge sehr ordentlich. 699 00:38:29,270 --> 00:38:34,770 Also Textmate, T-E-X-T. Ich werde zu setzen, festhalten - 700 00:38:34,770 --> 00:38:42,880 701 00:38:42,880 --> 00:38:45,720 >> Ich meine, Sie können gedit verwenden oder was Sie wollen. 702 00:38:45,720 --> 00:38:49,970 Aber dies ist spezifisch für Mac, und dies ist wirklich nett, weil es bringt alle 703 00:38:49,970 --> 00:38:51,000 Ihre Dateien dort unten. 704 00:38:51,000 --> 00:38:53,620 Und in Ruby on Rails, müssen Sie um Dateien zu wechseln, eine Menge. 705 00:38:53,620 --> 00:38:55,890 So ist es vielen, vielen Dateien nur gehen von einer Datei, um zu springen 706 00:38:55,890 --> 00:38:57,120 einer Datei oder das andere. 707 00:38:57,120 --> 00:39:02,000 Also Textmate ist ein sehr guter, aber es gibt viele da draußen. 708 00:39:02,000 --> 00:39:03,250 Noch Fragen? 709 00:39:03,250 --> 00:39:08,680 710 00:39:08,680 --> 00:39:09,870 OK, ja? 711 00:39:09,870 --> 00:39:12,825 >> ZIELGRUPPE: Gibt es eine mobile Entwicklung durch Ruby on Rails? 712 00:39:12,825 --> 00:39:15,640 713 00:39:15,640 --> 00:39:17,050 >> GABRIEL GUIMARAES: Ich habe der Dinge zu hören. 714 00:39:17,050 --> 00:39:19,550 Ich habe sie nicht genutzt. 715 00:39:19,550 --> 00:39:21,570 Sie könnten mehr dazu recherchieren. 716 00:39:21,570 --> 00:39:24,740 Ich bin nicht sicher, ob es irgendeine gute Sache gibt. 717 00:39:24,740 --> 00:39:29,980 718 00:39:29,980 --> 00:39:31,030 OK, ja? 719 00:39:31,030 --> 00:39:32,280 >> ZIELGRUPPE: [unverständlich] 720 00:39:32,280 --> 00:39:38,340 721 00:39:38,340 --> 00:39:40,550 >> GABRIEL GUIMARAES: Nicht Rails, wahrscheinlich Ruby-Arrays. 722 00:39:40,550 --> 00:39:44,270 723 00:39:44,270 --> 00:39:49,080 Öffnen Sie ein Terminal-Fenster und die Art, "Ruby". 724 00:39:49,080 --> 00:39:52,030 Ja, wahrscheinlich, und dann nur noch Rails installieren. 725 00:39:52,030 --> 00:39:57,050 Aber wenn Sie sich für die Installation der neuen sind Rails 4.0, die ich sehr empfehlen, 726 00:39:57,050 --> 00:40:02,870 Sie sollten Ruby-2.0. 727 00:40:02,870 --> 00:40:04,530 Das ist der neue auch. 728 00:40:04,530 --> 00:40:09,530 Und die neuen Rails 4.0 hat etwas wirklich cool, dass 729 00:40:09,530 --> 00:40:11,260 es macht auf die Vermögenswerte. 730 00:40:11,260 --> 00:40:12,810 Es verwaltet Vermögenswerte. 731 00:40:12,810 --> 00:40:18,860 Assets wieder sind Bilder, CSS-Dateien und JavaScript-Dateien. 732 00:40:18,860 --> 00:40:24,060 Also eine wirklich nette Sache, die Ruby on Rails ist für Sie all die CSS 733 00:40:24,060 --> 00:40:26,980 Dateien, die Sie haben, und alles, was - 734 00:40:26,980 --> 00:40:32,420 es ist nur bündelt alles, was bis zu einem riesige Datei, ohne Leerzeichen oder nichts, 735 00:40:32,420 --> 00:40:40,120 die Zeit muss der Benutzer zu minimieren downloaden, dass Code von Ihrem Server. 736 00:40:40,120 --> 00:40:47,780 >> Also, wenn Sie in Ihrem Computer sehen, ist es werde wie 15 CSS-Dateien. 737 00:40:47,780 --> 00:40:49,520 Oder viele, viele verschiedene CSS-Dateien. 738 00:40:49,520 --> 00:40:54,890 Aber am Ende des Tages, was Rails nicht automatisch für Sie ist es bringt 739 00:40:54,890 --> 00:41:00,760 alles zusammen in eine riesige Datei so dass es minimiert die Anforderungszeit. 740 00:41:00,760 --> 00:41:02,630 Das ist wirklich cool. 741 00:41:02,630 --> 00:41:02,940 Ja? 742 00:41:02,940 --> 00:41:04,190 >> ZIELGRUPPE: [unverständlich] 743 00:41:04,190 --> 00:41:13,910 744 00:41:13,910 --> 00:41:14,440 >> GABRIEL GUIMARAES: Genau. 745 00:41:14,440 --> 00:41:16,230 Also, Google Maps Integration. 746 00:41:16,230 --> 00:41:20,200 Das ist eine JavaScript-API von Google. 747 00:41:20,200 --> 00:41:23,750 Also ging ich einfach auf die Google-Website. 748 00:41:23,750 --> 00:41:29,950 Sie haben diese Google Maps API und ich heruntergeladen den Code und integriert es 749 00:41:29,950 --> 00:41:31,610 in meiner Sicht. 750 00:41:31,610 --> 00:41:35,490 Also, was ich brauchte, um es zu tun wird ich brauchte, um das zu bekommen 751 00:41:35,490 --> 00:41:37,310 Stellen aus der Datenbank. 752 00:41:37,310 --> 00:41:38,990 Das war in den Controller. 753 00:41:38,990 --> 00:41:40,950 Also ging ich an die Steuerung - 754 00:41:40,950 --> 00:41:42,350 wo ist der Controller. 755 00:41:42,350 --> 00:41:44,330 Der Controller sah wie folgt aus. 756 00:41:44,330 --> 00:41:48,660 Stand von den Stellen der Studenten, setzen all das in einen großen 757 00:41:48,660 --> 00:41:52,060 Variable, eine große Liste, dass hat alle Standorte. 758 00:41:52,060 --> 00:41:55,340 >> Und in der Ansicht, weil das JavaScript API ist etwas, in das 759 00:41:55,340 --> 00:41:55,800 sehen, oder? 760 00:41:55,800 --> 00:42:00,440 Da JavaScript läuft in Ihren HTML- Code, es wird zu richten an 761 00:42:00,440 --> 00:42:01,710 Rechner des Benutzers. 762 00:42:01,710 --> 00:42:09,310 Und in der Ansicht, dass alle lud ich Informationen in die Google-API. 763 00:42:09,310 --> 00:42:12,080 Und das tat es alles für mir, das ist wirklich cool. 764 00:42:12,080 --> 00:42:16,240 Aber wenn Sie die Dinge in die gewünschte Back-End, und es ist wie eine Bibliothek, für 765 00:42:16,240 --> 00:42:18,720 Beispiel wieder - 766 00:42:18,720 --> 00:42:20,140 die Integration mit Facebook. 767 00:42:20,140 --> 00:42:24,060 Das ist etwas, das viele, viele, viele Apps verwenden heutzutage. 768 00:42:24,060 --> 00:42:27,300 >> So haben Sie Ihre Integration mit Facebook denn es ist so viel einfacher, nur 769 00:42:27,300 --> 00:42:30,450 sich mit Facebook, als zu schaffen ein Konto und blah, blah, blah. 770 00:42:30,450 --> 00:42:35,120 Dann können Sie einfach ein Juwel und es ist, als einfach wie der Gang zur Edelstein-Datei. 771 00:42:35,120 --> 00:42:39,350 Gem-Datei ist eine Datei mit dem Namen Edelstein-Datei in das Quellverzeichnis Ihres Ruby on 772 00:42:39,350 --> 00:42:40,370 Rails-Projekt. 773 00:42:40,370 --> 00:42:43,700 Einfach hingehen und neue Juwel. 774 00:42:43,700 --> 00:42:45,300 Und Sie schauen auf Google. 775 00:42:45,300 --> 00:42:46,520 Es gibt viele, viele, viele Edelsteine. 776 00:42:46,520 --> 00:42:51,070 Es ist eine, die speziell macht dies für Facebook-Integration. 777 00:42:51,070 --> 00:42:54,660 Ich bin mir nicht sicher, was der Name es. 778 00:42:54,660 --> 00:42:56,680 Gerade Google es und du bist gehen, um es zu finden. 779 00:42:56,680 --> 00:42:57,930 OK, mehr Fragen? 780 00:42:57,930 --> 00:43:01,110 781 00:43:01,110 --> 00:43:03,280 Awesome, ich danke Ihnen für Ihr Kommen. 782 00:43:03,280 --> 00:43:09,227