1 00:00:00,000 --> 00:00:08,560 2 00:00:08,560 --> 00:00:10,410 >> GABRIEL GUIMARAES: Гэта CS50. 3 00:00:10,410 --> 00:00:14,740 Сардэчна запрашаем Дзіўныя Web Apps з Рубінам на Rails. 4 00:00:14,740 --> 00:00:19,700 Так што для тых, хто цікавіцца вэб- Распрацоўка і выраб сайтаў, вэб- 5 00:00:19,700 --> 00:00:26,510 прыкладання, Рубін на рэйкі гэта дзіўны інструмент, які Twitter, GitHub, 6 00:00:26,510 --> 00:00:31,470 Groupon, і ўсякія вельмі прыемна, і вялікія, вэб-прыкладанні, выкарыстоўваючы ў 7 00:00:31,470 --> 00:00:33,080 за апошнія некалькі гадоў. 8 00:00:33,080 --> 00:00:37,190 І гэта вельмі, вельмі крута функцыя, круты інструмент, 9 00:00:37,190 --> 00:00:39,290 таму што гэта новае. 10 00:00:39,290 --> 00:00:43,830 Так што ёсць усе новы магутны тэхналогіі ўключаны ў адзін 11 00:00:43,830 --> 00:00:49,050 структура, якая дапаможа вам справіцца з ўсякія дзіўныя рэчы. 12 00:00:49,050 --> 00:00:50,970 >> Але тое, што з'яўляецца асновай? 13 00:00:50,970 --> 00:00:55,700 Так рамкі ў асноўным тое, што стварае - 14 00:00:55,700 --> 00:00:59,680 пры запуску вэб-сайта, калі вы пачалі з нуля, як вы адкрываеце 15 00:00:59,680 --> 00:01:04,530 GEdit там, і вы хочаце, каб закадаваць усё вашага HTML, і код ўсіх вашых 16 00:01:04,530 --> 00:01:08,130 PHP, усе вашы CSS, усё з нуля - 17 00:01:08,130 --> 00:01:09,690 вось толькі будзе шмат працы. 18 00:01:09,690 --> 00:01:13,940 І база літаральна дае палова сайце зроблена ўжо. 19 00:01:13,940 --> 00:01:18,070 Такім чынам, вы пачынаеце з паловай сайце што ёсць усе там для вас. 20 00:01:18,070 --> 00:01:22,690 Як і злучэнняў з базай дадзеных, і ўсё віды рэчаў, якія вам не прыйдзецца турбавацца 21 00:01:22,690 --> 00:01:25,040 о, калі вы робіце яго з нуля, Вы не павінны хвалявацца пра тых, 22 00:01:25,040 --> 00:01:26,480 больш падрабязна нізкім узроўні. 23 00:01:26,480 --> 00:01:32,360 >> Але сёння мы збіраемся экспартаваць адзін з вэб-сайты, што першакурснік з 24 00:01:32,360 --> 00:01:34,740 клас 2017, верагодна, знаёмыя. 25 00:01:34,740 --> 00:01:40,170 Так што гэта вэб-сайт вэб-сайт, што я зрабіў для нашага класа на працягу лета. 26 00:01:40,170 --> 00:01:46,500 Гэта быў сайт, дзе студэнты клас 2017 можа ўвайсці і 27 00:01:46,500 --> 00:01:47,480 ўзаемадзейнічаюць адзін з адным. 28 00:01:47,480 --> 00:01:49,610 І то гэта карта - 29 00:01:49,610 --> 00:01:51,210 усё, дзе людзі. 30 00:01:51,210 --> 00:01:56,970 І ў нас быў кніжны гульня, песні гульню дзе мы бачылі песні людзей і 31 00:01:56,970 --> 00:01:57,970 кнігі народныя. 32 00:01:57,970 --> 00:02:00,480 Тое, што яны любяць чытаць, тое, што яны любяць слухаць. 33 00:02:00,480 --> 00:02:06,830 І самае цікавае частка яго , Што літаральна ўзяў мяне 3:00 34 00:02:06,830 --> 00:02:07,840 кадзіраваць ўсё гэта. 35 00:02:07,840 --> 00:02:13,050 Таму што, калі я павінен быў зрабіць усё, што ад драпіна, як адкрыццё Gedit, гэта 36 00:02:13,050 --> 00:02:16,400 , Верагодна, прынялі мне 20, 30 гадзін. 37 00:02:16,400 --> 00:02:20,210 Але з Рубінам на Rails, паколькі усё было ўжо створана для мяне, 38 00:02:20,210 --> 00:02:25,550 ён толькі ўзяў мяне тры ці 04:00, ці нешта ў гэтым родзе. 39 00:02:25,550 --> 00:02:27,580 >> Так што ж такое Рубін на рэйкі. 40 00:02:27,580 --> 00:02:32,720 Рубін на рэйкі, зноў, як мы ўжо сказаў, з'яўляецца рамачным. 41 00:02:32,720 --> 00:02:34,800 Гэта карціна рамак. 42 00:02:34,800 --> 00:02:37,460 Такім чынам, вы будзеце губляць дом, у вас ужо ёсць палову 43 00:02:37,460 --> 00:02:38,320 Дом зроблена. 44 00:02:38,320 --> 00:02:38,970 Гэта аснова. 45 00:02:38,970 --> 00:02:40,560 І Рубін на рэйкі з'яўляецца менавіта так. 46 00:02:40,560 --> 00:02:44,440 І вы павінны думаць пра гэта як, вы пачынаеце сайт, вы пачынаеце свой вэб 47 00:02:44,440 --> 00:02:48,830 Дадатак, у нас ужо ёсць палова яго зроблена там. 48 00:02:48,830 --> 00:02:50,400 Але ў першую чаргу, тое, што Сячы? 49 00:02:50,400 --> 00:02:53,510 50 00:02:53,510 --> 00:02:58,310 Рубін на рэйкі выкарыстоўвае выгляду мадэлі кантролер, які з'яўляецца парадыгма, які 51 00:02:58,310 --> 00:02:59,930 з'яўляецца сапраўды цікава - 52 00:02:59,930 --> 00:03:04,250 і ўсё прыкладанні ў цяперашні час выкарыстоўваць нешта накшталт гэтага. 53 00:03:04,250 --> 00:03:08,630 Гэтая ідэя падзелу рэчы ў тры часткі, мадэль, выгляд, і 54 00:03:08,630 --> 00:03:09,630 кантролер. 55 00:03:09,630 --> 00:03:11,950 Мы збіраемся пагаварыць трохі пра гэта крыху пазней. 56 00:03:11,950 --> 00:03:13,400 >> Па-першае, што такое Рубі? 57 00:03:13,400 --> 00:03:14,500 Так што гэта Рубі. 58 00:03:14,500 --> 00:03:17,850 І гэта з'яўляецца сімвалам мова называецца Рубі. 59 00:03:17,850 --> 00:03:24,170 Рубін з'яўляецца адным з даволі новы інтэрпрэтаваных мовы, так скрыпт. 60 00:03:24,170 --> 00:03:29,530 Гэта мову, які не кампілюецца як С. Гэта складзены ў бегах. 61 00:03:29,530 --> 00:03:33,220 Так што добра, таму што, як PHP, напрыклад таксама інтэрпрэтуецца, з'яўляецца 62 00:03:33,220 --> 00:03:33,960 не збіраюцца. 63 00:03:33,960 --> 00:03:35,710 Гэта добра, таму што яго партатыўным. 64 00:03:35,710 --> 00:03:39,740 Такім чынам, вы проста перадаць свой код ад адной машыны на іншую. 65 00:03:39,740 --> 00:03:44,440 З машыны Linux, да АС Windows машына, да машыны Mac або Apple, або 66 00:03:44,440 --> 00:03:45,240 нешта ў гэтым родзе. 67 00:03:45,240 --> 00:03:49,160 І вам не трэба турбавацца аб падрабязнасці адносна кожнага з канкрэтных 68 00:03:49,160 --> 00:03:49,890 аперацыйныя сістэмы. 69 00:03:49,890 --> 00:03:51,330 Гэта будзе працаваць усюды. 70 00:03:51,330 --> 00:03:54,700 >> І Рубі з'яўляецца мовай, які - 71 00:03:54,700 --> 00:03:56,920 вы, хлопцы, магчыма, памятаюць яе. 72 00:03:56,920 --> 00:04:01,440 Людзі выкарыстоўваюць хэш-функцыі рэалізаваны у С для хэш-табліцы 73 00:04:01,440 --> 00:04:04,860 на мінулым тыдні і былі ўсе віды памылак сегментацыі. 74 00:04:04,860 --> 00:04:12,360 І тады ўсё клапоцячыся пра тое, што радок я там, радок я 75 00:04:12,360 --> 00:04:20,380 тут, на самай справе быў ніжні рэгістр або Прапісная або такога роду неспакой 76 00:04:20,380 --> 00:04:21,410 больш падрабязна нізкім узроўні. 77 00:04:21,410 --> 00:04:26,180 Ну ў Ruby, калі вы хочаце рэалізаваць хэш-табліцу, гэта дакладна, як вы 78 00:04:26,180 --> 00:04:27,100 стварыць хэш-табліцу. 79 00:04:27,100 --> 00:04:30,280 Вы кажаце, слоўнік, гэтае імя маёй зменнай, = "Hash.new". 80 00:04:30,280 --> 00:04:34,680 А потым слоўнік ["Foo"], і, калі я дадаўшы Foo да майго хэш-табліцы, я 81 00:04:34,680 --> 00:04:35,960 проста кажу Foo ёсць. 82 00:04:35,960 --> 00:04:38,070 >> І потым, калі я хацеў праверыць, калі Фу быў там, я проста кажу, калі 83 00:04:38,070 --> 00:04:40,270 слоўнік ["Foo"] == дакладна вяртанне праўда. 84 00:04:40,270 --> 00:04:41,560 Вау, вось і ваш хэш-табліцы. 85 00:04:41,560 --> 00:04:44,280 Гэта рэалізацыя з хэш-табліцы ў Ruby. 86 00:04:44,280 --> 00:04:50,200 Так што ўсё шкада, што яны маглі б мець выкарыстоўваецца нешта накшталт Рубі за апошнія 87 00:04:50,200 --> 00:04:51,450 PSET тыдні, ці не так? 88 00:04:51,450 --> 00:04:54,410 89 00:04:54,410 --> 00:04:59,050 У нас ёсць усе віды прычын, каб хочуць выкарыстоўваць мову, як Ruby. 90 00:04:59,050 --> 00:05:01,380 Лал мае каштоўныя камяні. 91 00:05:01,380 --> 00:05:04,000 Джэм гэтае імя для свайго роду бібліятэкі ў Ruby. 92 00:05:04,000 --> 00:05:07,490 >> Так што ўсе віды цікавых асаблівасцяў што вы можаце мець, напрыклад, калі 93 00:05:07,490 --> 00:05:09,280 хочаце інтэграваць маю заяву. 94 00:05:09,280 --> 00:05:12,470 Гэта Гарвардскі 2017 прыкладанняў была інтэграваная ў Facebook. 95 00:05:12,470 --> 00:05:15,810 Такім чынам, можна ўвайсці праз Facebook, у дадатак. 96 00:05:15,810 --> 00:05:19,760 Так што калі вы збіраецеся гэта зрабіць, вы не трэба турбавацца аб адпраўцы некаторых 97 00:05:19,760 --> 00:05:23,760 HTTP запыт на Facebook, і чакае для адказу, і прымусіць 98 00:05:23,760 --> 00:05:25,150 адказ, і бла, бла, бла. 99 00:05:25,150 --> 00:05:29,120 Вы проста спампаваць каштоўны камень, які робіць усё, што для вас. 100 00:05:29,120 --> 00:05:30,750 І тады вам не трэба турбавацца пра ўсё гэта. 101 00:05:30,750 --> 00:05:33,670 >> А потым шмат дапамогі онлайн, вядома. 102 00:05:33,670 --> 00:05:37,040 Ёсць шмат, шмат, шмат сайтаў, якія збіраюцца, каб дапамагчы вам як з 103 00:05:37,040 --> 00:05:38,880 Сячы і з Rails. 104 00:05:38,880 --> 00:05:40,530 І гэта вельмі весела ў кодзе. 105 00:05:40,530 --> 00:05:46,770 Менавіта таму, што вы можаце не турбавацца аб тых не так весела праблем. 106 00:05:46,770 --> 00:05:50,690 Як быццам нешта ў ніжнім рэгістры або у верхнім рэгістры, а затым чаму гэта 107 00:05:50,690 --> 00:05:54,500 даючы вам памылку сегментацыі, і вы сапраўды можаце акунуцца ў вельмі 108 00:05:54,500 --> 00:05:55,460 цікавы матэрыял. 109 00:05:55,460 --> 00:05:59,650 Каб паглыбіцца ў сапраўды цікавых праблем. 110 00:05:59,650 --> 00:06:02,420 >> Так Рубі гэтак жа, як у С у сэнсе. 111 00:06:02,420 --> 00:06:05,950 Так што гэта не будзе, што вялікая скачка на самай справе. 112 00:06:05,950 --> 00:06:09,470 Так ставіць, вось наша дадатак друку ў Ruby. 113 00:06:09,470 --> 00:06:12,790 Я думаю, што вы маглі б выкарыстоўваць друк таксама але ставіць тое, што кожны выкарыстоўвае. 114 00:06:12,790 --> 00:06:14,490 Так проста ставіць "Hello World". 115 00:06:14,490 --> 00:06:21,400 Вы маглі б, ці вы не маглі, маюць дужка акружэння 116 00:06:21,400 --> 00:06:23,280 "Hello World" там. 117 00:06:23,280 --> 00:06:25,350 Вы можаце проста выбраць, ці будзе ці не выкарыстоўваць гэта. 118 00:06:25,350 --> 00:06:26,780 І тое х = "1". 119 00:06:26,780 --> 00:06:29,030 У той час як цыкл выглядае даволі тое ж самае. 120 00:06:29,030 --> 00:06:30,630 Гэта проста ёсць менш сінтаксіс. 121 00:06:30,630 --> 00:06:32,590 Гэта свайго роду чысцей няшмат. 122 00:06:32,590 --> 00:06:37,380 І потым, калі х> 25 ставіць "Вялікі!" і яшчэ ставіць "Маленькі ...". 123 00:06:37,380 --> 00:06:39,070 І гэта збольшага C у гэтым сэнсе. 124 00:06:39,070 --> 00:06:41,630 >> Так што калі вы паглядзіце на гэта, вы можаце падыход, верагодна, разумеюць 125 00:06:41,630 --> 00:06:42,890 ўсё, што адбываецца. 126 00:06:42,890 --> 00:06:47,750 Але гэта больш магутным. 127 00:06:47,750 --> 00:06:54,520 Больш магутны, таму што, больш за тое, Ён можа рабіць усё не так - 128 00:06:54,520 --> 00:06:55,750 нейкая Hackage няшмат. 129 00:06:55,750 --> 00:06:57,430 У C вы не змаглі зрабіць у проста зрабіць з адной лініяй. 130 00:06:57,430 --> 00:06:58,680 Напрыклад, ставіць "Я # {х}". 131 00:06:58,680 --> 00:07:04,330 132 00:07:04,330 --> 00:07:11,100 Гэта толькі сінтаксіс змясціць значэнне з х тут, і ня друкуе 133 00:07:11,100 --> 00:07:12,160 характар ​​х. 134 00:07:12,160 --> 00:07:17,850 У C вы павінны былі зрабіць адсотка д, і затым паставіць зменную х пасля таго, як 135 00:07:17,850 --> 00:07:19,730 коска тут, ці нешта ў гэтым родзе. 136 00:07:19,730 --> 00:07:22,220 >> І ў Рубіне ёсць скарачэнне для проста раблю гэта. 137 00:07:22,220 --> 00:07:27,830 І ставіць гэта, калі х> 3, так што вы можаце пакласці, калі ўсё ў адным радку. 138 00:07:27,830 --> 00:07:29,010 А потым спіс. 139 00:07:29,010 --> 00:07:33,320 Спісы ў C, як масіў, вы павінны адсочваць, наколькі вялікая ваша масіў або 140 00:07:33,320 --> 00:07:34,720 у адваротным выпадку вы атрымаеце сегментацыю абвінаваціць. 141 00:07:34,720 --> 00:07:36,210 Ваш масіў толькі адзін тып. 142 00:07:36,210 --> 00:07:38,790 Так што гэта альбо масіў зарада або масіў лікаў. 143 00:07:38,790 --> 00:07:43,620 У гэтым выпадку, я стварыў спіс тут, вось масіў, які мае першы 144 00:07:43,620 --> 00:07:48,450 элемент з'яўляецца радком, Джон, а затым чатыры, два - тыя, цэлыя. 145 00:07:48,450 --> 00:07:53,590 А потым я проста дадаць, спіс, Левай кутняй дужкі, злева 146 00:07:53,590 --> 00:07:54,820 Кут Кранштэйн, тры. 147 00:07:54,820 --> 00:07:58,170 Гэта азначае, што проста дадаць нешта ў мой спіс. 148 00:07:58,170 --> 00:08:01,630 >> Так што гэта свайго роду больш цікава, таму што калі б вы хацелі, каб выкарыстоўваць гэта ў якасці 149 00:08:01,630 --> 00:08:03,920 просты спіс цэлых лікаў, Вы маглі, цалкам. 150 00:08:03,920 --> 00:08:05,530 Гэта зусім нармальна. 151 00:08:05,530 --> 00:08:06,750 Проста змесціце цэлыя там. 152 00:08:06,750 --> 00:08:10,240 Але калі вы хочаце, каб зрабіць тое, што больш пераканаўчым, што ёсць і іншыя 153 00:08:10,240 --> 00:08:11,690 рэчы, якія ёсць - 154 00:08:11,690 --> 00:08:15,480 Я не ведаю,, усякія спісы ў там, або іншыя аб'екты, якія з'яўляюцца больш 155 00:08:15,480 --> 00:08:16,970 Цікава, вы можаце цалкам зрабіць гэта. 156 00:08:16,970 --> 00:08:17,880 Гэта зусім нармальна. 157 00:08:17,880 --> 00:08:21,210 І потым, калі вы хочаце, каб перабору спіс, вы можаце выкарыстоўваць 158 00:08:21,210 --> 00:08:24,850 больш C-иш такі падыход. 159 00:08:24,850 --> 00:08:29,970 Гэта цыкл, вы ініцыяваць зменная, г = "1", або I = "0". 160 00:08:29,970 --> 00:08:32,980 А потым вы ідзяце, і ітэрацыі, і атрымаць усе элементы. 161 00:08:32,980 --> 00:08:37,559 >> Але вы таксама можаце выкарыстоўваць яе больш Рубі-як падыход. 162 00:08:37,559 --> 00:08:40,289 Гэта так жа, як list.each. 163 00:08:40,289 --> 00:08:45,230 Вось толькі кажуць, вярнуць мяне ўсе элементы спісу. 164 00:08:45,230 --> 00:08:49,120 І зрабіць з кожным элементам, называць іх элем. 165 00:08:49,120 --> 00:08:51,880 Так што гэта проста назва, што я даючы да кожнага элементу. 166 00:08:51,880 --> 00:08:56,630 І зараз гэта будзе паўтарыць для ўсіх элементы і элем, ён збіраецца 167 00:08:56,630 --> 00:09:00,790 быць так, што мы атрымліваем доступ што адзін элемент. 168 00:09:00,790 --> 00:09:04,310 Такім чынам, можна цалкам прытрымлівацца З падыходам, але гэта таксама працуе. 169 00:09:04,310 --> 00:09:07,970 І гэта роўна тое ж самае, ў парадку. 170 00:09:07,970 --> 00:09:13,830 >> І акрамя гэтага, гэта сапраўды, сапраўды лёгка інтэграваць Сячы і HTML 171 00:09:13,830 --> 00:09:17,010 так вы, хлопцы зацікаўлены ў вэб-прыкладаннях. 172 00:09:17,010 --> 00:09:20,070 HTML, безумоўна, тое, што вы збіраецеся выкарыстоўваць шмат. 173 00:09:20,070 --> 00:09:25,820 А вось калі вы хацелі, каб пакласці Рубін у HTML, проста пачаць тут, <%. 174 00:09:25,820 --> 00:09:28,500 Гэта азначае, што, вось Рубін пачынаецца. 175 00:09:28,500 --> 00:09:32,130 А потым%>, накшталт як PHP ў гэтым сэнсе. 176 00:09:32,130 --> 00:09:35,520 Тут Рубін заканчваецца, а затым вы можаце проста пакласці ваш, калі тут. 177 00:09:35,520 --> 00:09:39,400 А потым у мяне ёсць некаторыя зменную user.logged_in. 178 00:09:39,400 --> 00:09:45,120 У Ruby мы звычайна дадаць тых, альбо пытальнік або клічнік 179 00:09:45,120 --> 00:09:48,210 марка, як і банкаўскі характару, проста выгляду 180 00:09:48,210 --> 00:09:49,480 адрозніваць нашых функцый. 181 00:09:49,480 --> 00:09:52,780 Але вы проста пакласці, што для вашага ж даброты. 182 00:09:52,780 --> 00:09:56,910 Гэта не тое, што змены што-небудзь у функцыянальнасці. 183 00:09:56,910 --> 00:10:01,160 >> Так што проста, каб нагадаць мне, што гэта Функцыя - і функцыі ў Ruby, 184 00:10:01,160 --> 00:10:06,650 , А ня C, як я ўжо сказаў, яны не маюць патрэбы ў дужкі. 185 00:10:06,650 --> 00:10:09,740 Так што наведванне рэчы, гэта функцыя, гэта метад. 186 00:10:09,740 --> 00:10:12,990 Але вы відавочна не трэба паставіць дужкі там. 187 00:10:12,990 --> 00:10:16,030 Так проста пытаюся калі карыстацкі ўвайшлі ў сістэму, і калі карыстацкі ўвайшлі ў сістэму, цяпер 188 00:10:16,030 --> 00:10:17,100 HTML пачынаецца зноў. 189 00:10:17,100 --> 00:10:21,670 Так Сардэчна запрашаем, і тут Я надрукаваць user.name. 190 00:10:21,670 --> 00:10:22,920 І гэта ўсё. 191 00:10:22,920 --> 00:10:24,970 192 00:10:24,970 --> 00:10:30,420 Так што гэта даволі прама наперад, як інтэграваць Рубі з HTML. 193 00:10:30,420 --> 00:10:34,560 І рэсурсы, як я ўжо сказаў, ёсць ўсякія рэсурсаў для Рубі. 194 00:10:34,560 --> 00:10:39,560 Вы, хлопцы, усё гэта можа выглядаць гэта да пасля таму што і відэа, і 195 00:10:39,560 --> 00:10:40,875 слайды, збіраюцца быць даступныя ў Інтэрнэце. 196 00:10:40,875 --> 00:10:44,620 197 00:10:44,620 --> 00:10:47,180 >> А цяпер давайце пяройдзем да Rails. 198 00:10:47,180 --> 00:10:48,330 Рэйкі ёсць любоў. 199 00:10:48,330 --> 00:10:49,230 Рэйкі - 200 00:10:49,230 --> 00:10:51,030 так Рубін яго мову. 201 00:10:51,030 --> 00:10:54,340 ОК, як PHP, гэтак жа, як Python. 202 00:10:54,340 --> 00:10:59,980 Гэта мова высокага ўзроўню, а не як С. C у сярэдні, нізкаўзроўневы мову ў 203 00:10:59,980 --> 00:11:05,240 адчуванне, што Сячы вы не павінны турбавацца аб пераразмеркаванні памяці, і 204 00:11:05,240 --> 00:11:07,300 паказальнікі, і тыя віды рэчаў. 205 00:11:07,300 --> 00:11:11,120 Але Rails гэта праграма, якая была напісана ў Ruby. 206 00:11:11,120 --> 00:11:15,610 І ён выкарыстоўвае Рубі, для таго, каб гэта рамкі, для вас, каб быць у стане 207 00:11:15,610 --> 00:11:18,990 пабудаваць дзіўныя вэб-прыкладанняў. 208 00:11:18,990 --> 00:11:21,940 >> Такім чынам, вы павінны спачатку ўсталяваць Рубін на ваша машына, але большасць машын 209 00:11:21,940 --> 00:11:22,630 ўжо ёсць, што. 210 00:11:22,630 --> 00:11:24,800 А потым ўсталяваць рэйкі па-над ім. 211 00:11:24,800 --> 00:11:26,540 Мы збіраемся пагаварыць пра гэта пазней. 212 00:11:26,540 --> 00:11:28,100 І чаму Rails? 213 00:11:28,100 --> 00:11:31,470 Так MVC, гэта кантролер выгляд мадэлі мы казалі пра крыху 214 00:11:31,470 --> 00:11:36,050 трохі, робіць усё прасцей, таму што ён дзеліць рэчы, якія 215 00:11:36,050 --> 00:11:42,420 канцэптуальна адрозніваецца ў розныя часткі вашага прыкладання. 216 00:11:42,420 --> 00:11:45,930 Чым менш часу траціцца на праблемах нізкага ўзроўню, зноў, і вельмі, вельмі 217 00:11:45,930 --> 00:11:46,820 папулярныя зараз. 218 00:11:46,820 --> 00:11:52,130 Так што для ўсіх тых, хто зацікаўлены ў запуск сцэны, або ў чымсьці 219 00:11:52,130 --> 00:11:58,435 як пачаць бізнэс, і людзі на рынку тэхналогій, якія з'яўляюцца 220 00:11:58,435 --> 00:12:02,440 пачаць свой уласны бізнес прама зараз сапраўды, на самай справе прыхільнікі Рубі на 221 00:12:02,440 --> 00:12:04,120 Рэйкі, таму што гэта так хутка. 222 00:12:04,120 --> 00:12:07,510 >> Такім чынам, вы можаце атрымаць што-то і працуе менш чым за дзень, і гэта 223 00:12:07,510 --> 00:12:10,410 сапраўды вельмі пераканаўчыя Аргумент выкарыстоўваць Ruby. 224 00:12:10,410 --> 00:12:13,460 І Rails 4.0 - 225 00:12:13,460 --> 00:12:15,920 гэта вельмі прама з печы цяпер. 226 00:12:15,920 --> 00:12:16,930 Так Rails 4.0 - 227 00:12:16,930 --> 00:12:20,180 Я думаю, што першы выпуск быў у сакавіку гэтага года. 228 00:12:20,180 --> 00:12:23,460 І гэта вельмі прыемна, ён мае ўсе віды новых, цікавых функцый. 229 00:12:23,460 --> 00:12:30,290 Так Рубін на рэйкі з'яўляецца рамачным, што гэта пастаянна абнаўляецца, каб усе 230 00:12:30,290 --> 00:12:31,540 новай тэхналогіі. 231 00:12:31,540 --> 00:12:33,710 232 00:12:33,710 --> 00:12:39,800 >> У першы раз я спрабаваў выкарыстаць Рубін на Рэйкі, я павінен быў гэтую непрыемнасць, таму што я 233 00:12:39,800 --> 00:12:44,540 стварыў свой першы вэб-дадатак, і гэта выглядала менавіта так. 234 00:12:44,540 --> 00:12:49,020 Так ён стварае ўсе гэтыя файлы для Вы, і я паняцця не меў, што такое - 235 00:12:49,020 --> 00:12:50,780 што гэта? 236 00:12:50,780 --> 00:12:54,850 Ён стварыў усе гэтыя файлы, і толькі я хацеў стварыць простую праграму, 237 00:12:54,850 --> 00:12:57,140 проста HTML сайт. 238 00:12:57,140 --> 00:12:59,680 І я нават не мог нічога рабіць. 239 00:12:59,680 --> 00:13:02,430 Так што я быў крыху ашаломлены. 240 00:13:02,430 --> 00:13:08,350 Але гэта адна з рэчаў, якія, як толькі вы разумею, настолькі становіцца ўсё 241 00:13:08,350 --> 00:13:09,190 нашмат больш ясна. 242 00:13:09,190 --> 00:13:15,750 Так што не быць перагружаны першым Выгляд, што вы ствараеце ў першую чаргу. 243 00:13:15,750 --> 00:13:18,430 >> Так што ж адбываецца стварае Rails усе гэтыя файлы. 244 00:13:18,430 --> 00:13:20,470 Так адзін з, што з'яўляецца док, дакументацыя. 245 00:13:20,470 --> 00:13:23,080 Дб, што гэта звязана з базай дадзеных. 246 00:13:23,080 --> 00:13:25,060 Lib, які бібліятэкі ўвайсці ў сістэму. 247 00:13:25,060 --> 00:13:28,200 Грамадская, сцэнар, і некаторыя рэчы. 248 00:13:28,200 --> 00:13:32,110 У значнай ступені ўсё вы збіраецеся хвалявацца аб гэта тэчка дадатак, там. 249 00:13:32,110 --> 00:13:34,430 Гэта тэчка, якая змяшчае ваша прыкладанне. 250 00:13:34,430 --> 00:13:35,540 Усе астатнія файлы - 251 00:13:35,540 --> 00:13:37,770 некаторыя з іх важныя, а ты даведаецеся пра гэта пазней. 252 00:13:37,770 --> 00:13:42,040 Але яны проста тут, каб ўтрымліваюць рамкі. 253 00:13:42,040 --> 00:13:46,420 Такім чынам, першы краевугольным каменем дома вы, хлопцы будуюць, добра? 254 00:13:46,420 --> 00:13:47,730 >> Але татка дадатак - 255 00:13:47,730 --> 00:13:49,630 вось сапраўды важным. 256 00:13:49,630 --> 00:13:53,050 І папка прыкладанне мае актывы. 257 00:13:53,050 --> 00:13:57,690 Актывы ў значнай ступені ўсё што ідзе. 258 00:13:57,690 --> 00:14:01,890 Выявы напрыклад, усё гэта статычнае, што збіраецца быць загружаны 259 00:14:01,890 --> 00:14:03,450 на ваш сайт. 260 00:14:03,450 --> 00:14:06,850 Таму выявы, JavaScript, CSS - 261 00:14:06,850 --> 00:14:08,520 тыя віды рэчаў з'яўляюцца актывамі. 262 00:14:08,520 --> 00:14:11,310 263 00:14:11,310 --> 00:14:12,260 Кантралёры - 264 00:14:12,260 --> 00:14:15,190 мы збіраемся больш пагаварыць пра Што ўяўляюць сабой кантралёры, мадэлі, 265 00:14:15,190 --> 00:14:16,800 і палі ў секунду. 266 00:14:16,800 --> 00:14:20,760 І памочнікі з'яўляюцца функцыямі, якія вы можна выкарыстоўваць ва ўсім кодзе 267 00:14:20,760 --> 00:14:22,800 каб дапамагчы вам зрабіць што-то. 268 00:14:22,800 --> 00:14:25,800 Такія функцыі, як ўвайшлі ў сістэму, для прыклад - user.loggedin. 269 00:14:25,800 --> 00:14:29,500 Гэта функцыя, якая, верагодна, вы павінны выкарыстоўваць ва ўсіх частках вашага 270 00:14:29,500 --> 00:14:30,030 Дадатак. 271 00:14:30,030 --> 00:14:33,590 Такім чынам, вы можаце змясціць нешта накшталт што ў вашым памочніка. 272 00:14:33,590 --> 00:14:34,370 >> Канверты - 273 00:14:34,370 --> 00:14:41,480 вось калі вы збіраецеся адправіць ліст для карыстальнікаў, вы 274 00:14:41,480 --> 00:14:43,420 хочаце выкарыстоўваць паштовую праграму. 275 00:14:43,420 --> 00:14:46,420 І мадэлі і ўяўленні, мы збіраемся казаць пра гэта прама цяпер. 276 00:14:46,420 --> 00:14:52,450 Такім чынам, кантролер прадстаўлення мадэлі, гэта асноўны краевугольны камень Рубін на 277 00:14:52,450 --> 00:14:55,730 Рэйкі, і большасць структур у цяперашні час, каб быць сумленным. 278 00:14:55,730 --> 00:15:01,180 Такім чынам, яшчэ раз, мы адлучаецца увесь наш код ў трох розных частак. 279 00:15:01,180 --> 00:15:02,590 Мадэль - 280 00:15:02,590 --> 00:15:04,620 мадэль у асноўным базы дадзеных. 281 00:15:04,620 --> 00:15:06,090 Ён апрацоўвае рэчы ў базе дадзеных. 282 00:15:06,090 --> 00:15:10,790 >> Такім чынам, кожны табліцы ў базе дадзеных мае адпаведны файл у мадэлі. 283 00:15:10,790 --> 00:15:13,330 Так што гэта свайго роду стол для карыстальнікаў. 284 00:15:13,330 --> 00:15:18,250 Дык вы захоўваеце інфармацыю, як імя карыстальніка, іх лісты, іх 285 00:15:18,250 --> 00:15:20,970 адрас, іх пароль, і таму падобнае. 286 00:15:20,970 --> 00:15:24,535 Вы будзеце мець адзін файл у мадэль выкліканы карыстальнік RB - 287 00:15:24,535 --> 00:15:26,240 RB для Ruby. 288 00:15:26,240 --> 00:15:30,180 І там вы будзеце мець усе метадаў і зменных. 289 00:15:30,180 --> 00:15:34,130 Зменныя збіраецеся адпавядаюць з імем карыстальніка, электронную пошту, і 290 00:15:34,130 --> 00:15:35,370 ўсё. 291 00:15:35,370 --> 00:15:37,760 >> І вы будзеце мець метады. 292 00:15:37,760 --> 00:15:42,690 Гэта будзе нешта ў стаўленні - 293 00:15:42,690 --> 00:15:46,400 вы збіраецеся апрацоўваць гэтую інфармацыю ў базе дадзеных. 294 00:15:46,400 --> 00:15:50,220 Каб стварыць мадэль з Rails, вы проста карыстаецеся Rails генераваць. 295 00:15:50,220 --> 00:15:54,990 І ствараць рэчы ў Rails, вам на самай справе трэба тэрмінал. 296 00:15:54,990 --> 00:15:58,770 Так што гэта вельмі тэрмінал абгрунтаваных рамак. 297 00:15:58,770 --> 00:16:02,530 Вы проста ўвайсці ў тэрмінал, і ня рэйкі, генераваць мадэль. 298 00:16:02,530 --> 00:16:04,670 І імя гэтай мадэлі з'яўляецца карыстальнік. 299 00:16:04,670 --> 00:16:10,270 І я проста хачу мець дзве зменныя, дзве калонкі, у маім стале. 300 00:16:10,270 --> 00:16:11,450 Так вось па электроннай пошце. 301 00:16:11,450 --> 00:16:13,080 Электронная пошта з'яўляецца тып радка. 302 00:16:13,080 --> 00:16:15,450 Пароль, пароль таксама тып радок. 303 00:16:15,450 --> 00:16:16,520 Гэта адзіныя дзве рэчы. 304 00:16:16,520 --> 00:16:19,160 Гэта свайго роду спрошчанай табліцы карыстальнікаў. 305 00:16:19,160 --> 00:16:22,490 Але вы маглі б цалкам паставіць сотню рэч там, калі вы хацелі. 306 00:16:22,490 --> 00:16:27,620 >> І рэйкі таксама робіць яго вельмі, вельмі проста, каб усе 307 00:16:27,620 --> 00:16:30,040 віды адносін базы дадзеных. 308 00:16:30,040 --> 00:16:36,100 Так звычайна, калі ў вас ёсць табліцы ў вашым У базе, яны не вельмі-то 309 00:16:36,100 --> 00:16:37,570 незалежныя адзін ад аднаго. 310 00:16:37,570 --> 00:16:39,392 Давайце падумаем аб. 311 00:16:39,392 --> 00:16:42,960 Вы хочаце, каб купляць і прадаваць прадукты онлайн. 312 00:16:42,960 --> 00:16:46,620 Такім чынам, у вас ёсць сайт, дзе вы хочаце купляць і прадаваць тавары. 313 00:16:46,620 --> 00:16:55,060 Такім чынам, кожны карыстальнік мае шмат прадуктаў, якія гэты карыстальнік гатовы прадаць. 314 00:16:55,060 --> 00:17:00,970 І кожны карыстальнік таксама мае шмат здзелак што працягваюцца, або 315 00:17:00,970 --> 00:17:01,920 нешта ў гэтым родзе. 316 00:17:01,920 --> 00:17:05,430 І здзелкі з іншым карыстальнікам. 317 00:17:05,430 --> 00:17:08,310 Кожная транзакцыя належыць да двух розных карыстальнікам. 318 00:17:08,310 --> 00:17:10,560 Карыстальнік, які купляе і карыстальнік, які прадае. 319 00:17:10,560 --> 00:17:13,920 >> Такім чынам, гэта так званы адносіны базы дадзеных. 320 00:17:13,920 --> 00:17:17,890 І тут у нас ёсць менавіта тыя ключавыя словы, мае шмат і належыць. 321 00:17:17,890 --> 00:17:19,500 Такія найбольш важныя з іх. 322 00:17:19,500 --> 00:17:22,410 І вы толькі збіраецеся сказаць, для Напрыклад, гэта прыклад таго, 323 00:17:22,410 --> 00:17:25,740 мадэль ў 2017 вэб-сайце Гарвардскага універсітэта. 324 00:17:25,740 --> 00:17:28,820 Зноў жа, студэнты ў тут - 325 00:17:28,820 --> 00:17:32,870 кожны студэнт на сайце, студэнт з'яўляецца мадэль, уяўляе сабой табліцу базы дадзеных. 326 00:17:32,870 --> 00:17:37,560 Кожны студэнт павінен быў шмат кніг, таму што вам мог сказаць, што вашы любімыя 327 00:17:37,560 --> 00:17:38,630 кнігі, правільна. 328 00:17:38,630 --> 00:17:44,450 Так кожная кніга належыць студэнт тут. 329 00:17:44,450 --> 00:17:46,910 І атрыбут даступны - 330 00:17:46,910 --> 00:17:49,580 вось толькі кажуць, тых, з'яўляюцца зменнымі. 331 00:17:49,580 --> 00:17:53,050 Такія зменныя даступныя ад гэтай мадэлі. 332 00:17:53,050 --> 00:17:58,570 І зменныя аўтар кніга, апісанне, жанр, і 333 00:17:58,570 --> 00:17:59,870 назва кнігі. 334 00:17:59,870 --> 00:18:02,700 Так што проста інфармацыя адносна кнігу. 335 00:18:02,700 --> 00:18:06,410 >> А вось у мяне ёсць метад, які проста сартуе ўсё. 336 00:18:06,410 --> 00:18:10,710 Так вызначыць і сканчаецца, вось толькі кажучы, вось ідзе мой метад. 337 00:18:10,710 --> 00:18:13,220 Self.sorted_all. 338 00:18:13,220 --> 00:18:16,390 Вось толькі, дай мне ўсё сартуецца, і гэта, як вы рэалізуеце 339 00:18:16,390 --> 00:18:22,360 алгарытм сартавання, якія даволі лёгка. 340 00:18:22,360 --> 00:18:27,430 Але ў прынцыпе, гэта, як Мадэль выглядае, ОК. 341 00:18:27,430 --> 00:18:32,990 Хто-небудзь ёсць пытанні, якія тычацца гэтая база дадзеных рэч? 342 00:18:32,990 --> 00:18:33,736 Адносіны? 343 00:18:33,736 --> 00:18:36,430 Гэта ясна? 344 00:18:36,430 --> 00:18:37,125 Так. 345 00:18:37,125 --> 00:18:38,490 >> АЎДЫТОРЫЯ: Ці можаце вы зрабіць алгарытм сартавання? 346 00:18:38,490 --> 00:18:41,960 >> GABRIEL GUIMARAES: алгарытм сартавання, ОК. 347 00:18:41,960 --> 00:18:45,340 Калі вы абвыкнеце да сінтаксісу Ruby, гэта будзе ясна. 348 00:18:45,340 --> 00:18:48,800 Але ў прынцыпе, elems з'яўляецца Book.all. 349 00:18:48,800 --> 00:18:50,820 Так кніга гэта імя маёй мадэлі. 350 00:18:50,820 --> 00:18:55,670 Пры стварэнні мадэлі, яна пастаўляецца з ўсякія добрых метадаў для вас. 351 00:18:55,670 --> 00:18:58,810 Так dot.all гэта метад, які вяртае ўсе кнігі. 352 00:18:58,810 --> 00:19:02,560 Але знайсці, напрыклад, будзе шукаць адна кніга і вярнуць гэтую кнігу, або 353 00:19:02,560 --> 00:19:03,840 нешта ў гэтым родзе. 354 00:19:03,840 --> 00:19:05,990 І так elems гэта ўсё. 355 00:19:05,990 --> 00:19:08,870 І я проста кажу elems.sort. 356 00:19:08,870 --> 00:19:11,300 Сартаваць убудаваны ў Рубіне функцыя. 357 00:19:11,300 --> 00:19:13,526 >> І, зрабіць AB. 358 00:19:13,526 --> 00:19:15,940 Так што гэта сапраўды зноў - 359 00:19:15,940 --> 00:19:17,400 вы збіраецеся сартаваць. 360 00:19:17,400 --> 00:19:19,850 Але вы збіраецеся атрымаць гэты аргумент для мяне. 361 00:19:19,850 --> 00:19:25,160 І аргумент выкарыстоўвае - гэта адзін з больш цвёрдыя рэчы ў Рубі на самай справе, 362 00:19:25,160 --> 00:19:26,920 гэта зрабіць рэч. 363 00:19:26,920 --> 00:19:31,470 Але як толькі вы разумееце гэта ўсё прыходзіць вельмі, вельмі інтуітыўным. 364 00:19:31,470 --> 00:19:37,140 Такім чынам, AB, гэта кажа месца трымальнікі, якія я збіраюся выкарыстоўваць - як 365 00:19:37,140 --> 00:19:41,760 зменныя я збіраюся выкарыстоўваць, з'яўляюцца будзе называцца і б. 366 00:19:41,760 --> 00:19:43,380 І тыя кнігі. 367 00:19:43,380 --> 00:19:47,120 >> Дык з-за роду неабходна параўнаць элементы, памятаеце, што? 368 00:19:47,120 --> 00:19:49,760 Такім чынам, калі вы разбярыцеся, вас параўнаць два элемента. 369 00:19:49,760 --> 00:19:51,900 Я збіраюся сказаць, што кожны раз, калі вы збіраецеся параўноўваць - 370 00:19:51,900 --> 00:19:54,350 так што гэта, я перадаю сартаваць аргумент. 371 00:19:54,350 --> 00:19:59,370 І аргумент ўсе ад рабіць, каб і тут, добра? 372 00:19:59,370 --> 00:20:02,980 І гэты аргумент, проста кажа накшталт як параўноўваць. 373 00:20:02,980 --> 00:20:07,460 Сартаваць б працаваць тут, але гэта параўнаў бы з іх 374 00:20:07,460 --> 00:20:09,530 па змаўчанні ў параўнанні алгарытм. 375 00:20:09,530 --> 00:20:13,810 Я хачу, каб параўнаць ў вельмі спецыфічная спосаб, а менавіта, калі кніга 376 00:20:13,810 --> 00:20:16,900 была створана, калі кожны Кніга была створана. 377 00:20:16,900 --> 00:20:21,090 >> Таму я кажу, што, скажам, імя першым Кніга ўяўляе сабой і назва 378 00:20:21,090 --> 00:20:27,620 Другая кніга, як б, я хачу роду для сартавання нешта на аснове b.created_at гэта 379 00:20:27,620 --> 00:20:30,000 дзіўна сімвал, a.created_at. 380 00:20:30,000 --> 00:20:34,350 І, што дзіўна сімвал з'яўляецца скарачэннем бо, калі адзін больш, чым 381 00:20:34,350 --> 00:20:35,380 сябра, вярнуць 1. 382 00:20:35,380 --> 00:20:37,450 Калі адзін роўна іншы, то вяртаецца нуль. 383 00:20:37,450 --> 00:20:41,180 Калі адзін менш, чым іншы, вяртанне мінус 1. 384 00:20:41,180 --> 00:20:43,435 Дык вось што, што дзіўна знак. 385 00:20:43,435 --> 00:20:46,680 386 00:20:46,680 --> 00:20:47,500 >> Але гэта не важна. 387 00:20:47,500 --> 00:20:52,780 Я маю на ўвазе, тое, што я хачу, каб вы, хлопцы, каб атрымаць цяпер з'яўляецца ідэя, што база дадзеных - 388 00:20:52,780 --> 00:20:54,150 вы можаце мець мадэль ёсць. 389 00:20:54,150 --> 00:20:59,850 Так што вам не прыйдзецца турбавацца аб падключэнні і выкарыстанні SQL заяву, 390 00:20:59,850 --> 00:21:00,500 і таму падобнае. 391 00:21:00,500 --> 00:21:04,920 Ён таксама можа ствараць дзверы Ін'екцыі SQL і ўсё 392 00:21:04,920 --> 00:21:06,460 роду праблемы бяспекі. 393 00:21:06,460 --> 00:21:07,930 У гэтым выпадку, вы не турбавацца пра гэта. 394 00:21:07,930 --> 00:21:11,880 Вы проста выкарыстоўваць такія метады, як book.all. 395 00:21:11,880 --> 00:21:15,210 І, што на фоне вядома, збіраецца ў базу дадзеных, і гэта 396 00:21:15,210 --> 00:21:17,570 збіраецеся выкарыстоўваць заяву SQL каб атрымаць усе кнігі. 397 00:21:17,570 --> 00:21:19,650 Але вы не павінны турбавацца пра гэта. 398 00:21:19,650 --> 00:21:24,090 Гэта вынас, добра? 399 00:21:24,090 --> 00:21:26,790 >> І калі ў вас ёсць belongs_to аб як гэта, гэта азначае, што 400 00:21:26,790 --> 00:21:31,780 калі ў вас ёсць аб'ект кнігу, вы можа бачыць тое, што з'яўляецца яго вучнем. 401 00:21:31,780 --> 00:21:34,130 Такім чынам, якія студэнт мае гэтую кнігу? 402 00:21:34,130 --> 00:21:38,760 Такім чынам, мы можам проста выкарыстоўваць book.student, і што дае тое, што студэнт з'яўляецца. 403 00:21:38,760 --> 00:21:42,440 І гэта сапраўды асаблівасць, каб мець. 404 00:21:42,440 --> 00:21:43,950 >> Добра, зараз выгляд. 405 00:21:43,950 --> 00:21:48,380 Такім чынам, мадэль з'яўляецца тое, што ўзаемадзейнічае з базай дадзеных, ці не так? 406 00:21:48,380 --> 00:21:52,240 Выгляд асноўным HTML, і CSS, а некаторыя JavaScript. 407 00:21:52,240 --> 00:21:55,080 І гэта тое, што карыстальнік на самай справе бачыць. 408 00:21:55,080 --> 00:21:56,540 Карыстальнік не збіраецца см. базу дадзеных. 409 00:21:56,540 --> 00:22:00,290 Ён збіраецца паглядзець некаторыя дадзеныя з У базе убудаваных у гледача. 410 00:22:00,290 --> 00:22:04,940 411 00:22:04,940 --> 00:22:08,410 Рубін на рэйкі робіць яго сапраўды проста зрабіць поля. 412 00:22:08,410 --> 00:22:12,780 Па-першае, таму што гэта ўжо стварае яго для вас, з скрынкі, макет. 413 00:22:12,780 --> 00:22:16,200 >> Макет ў асноўным тое, што - 414 00:22:16,200 --> 00:22:24,230 калі ўсе вашы старонкі маюць лагатып на верхняй і, я не ведаю,, некаторыя меню або 415 00:22:24,230 --> 00:22:29,000 нешта накшталт гэтага, што ўсе вашы старонкі Доля ў агульным, то вы не 416 00:22:29,000 --> 00:22:34,830 трэба стварыць шмат, шмат, шмат HTML файлы, дзе ўсе файлы маюць, што 417 00:22:34,830 --> 00:22:36,830 жа HTML код. 418 00:22:36,830 --> 00:22:40,700 Я маю на ўвазе, што гэта глупства, таму што ты проста паўтараючы код паміж рознымі файламі. 419 00:22:40,700 --> 00:22:42,480 Гэта вызначана не добры падыход. 420 00:22:42,480 --> 00:22:45,660 >> Так Рубін на рэйкі стварае гэты макет для вас. 421 00:22:45,660 --> 00:22:49,770 І гэта проста кажу, усе мае старонкі будзем мець гэты HTML, гэтую галаву 422 00:22:49,770 --> 00:22:54,805 Назва тут, і тыя стыляў спасылка тэг. 423 00:22:54,805 --> 00:22:56,800 Падключыце тут усё сваё CSS. 424 00:22:56,800 --> 00:23:01,194 Падключыце тут усё сваё наяўнасць і некаторыя мета-тэгі. 425 00:23:01,194 --> 00:23:04,440 Вось толькі тое, што яны зрабіць аўтаматычна. 426 00:23:04,440 --> 00:23:07,490 А потым, у канчатковым галаву, цяпер тут пачынаецца цела. 427 00:23:07,490 --> 00:23:09,780 І цяпер гэта мой фактычнае змест. 428 00:23:09,780 --> 00:23:16,620 Так што, калі я хацеў, каб пакласці што-то падобнае, Меню тут, я б паставіў яго прама над 429 00:23:16,620 --> 00:23:19,600 гэта месца, ці нешта накшталт гэтага, так што ўсе мае старонак падзяліўся ёю. 430 00:23:19,600 --> 00:23:21,730 Такім чынам, схема з'яўляецца агульным на ўсіх старонках. 431 00:23:21,730 --> 00:23:26,500 >> Цяпер, калі выхад тут толькі кажа, няма Незалежна ад таго на якія старонкі Гэта ў, проста 432 00:23:26,500 --> 00:23:30,560 падключыць ў змесце, што старонка тут, добра? 433 00:23:30,560 --> 00:23:33,770 А цяпер гэта, напрыклад, Ўтрыманне адной старонцы, што будзе 434 00:23:33,770 --> 00:23:38,950 падлучаны да гэтай даходнасці заяве аўтаматычна Rails. 435 00:23:38,950 --> 00:23:40,700 Але гэта макет падзяліўся на ўсіх старонках. 436 00:23:40,700 --> 00:23:42,500 І гэта з'яўляецца прыкладам адной старонцы. 437 00:23:42,500 --> 00:23:46,410 І гэта менавіта старонка , У якім пералічаныя ўсе кнігі. 438 00:23:46,410 --> 00:23:49,390 Так што гэта з'яўляецца адным з асноўных табліцы HTML наверсе. 439 00:23:49,390 --> 00:23:53,730 Так аб'яўленні кнігі, назва, аўтар, апісанне, жанр. 440 00:23:53,730 --> 00:24:00,810 >> І вось мы выкарыстоўваем, зноў жа, некаторыя Сінтаксіс Рубі, @ books.each-- 441 00:24:00,810 --> 00:24:07,720 @ Рода кажа, што ў зменнай з'яўляецца глабальнай, у пэўным сэнсе. 442 00:24:07,720 --> 00:24:10,940 Таму што гэтая пераменная было на самай справе заявіў у кантролер, які 443 00:24:10,940 --> 00:24:12,840 Вы будзеце бачыць прама цяпер. 444 00:24:12,840 --> 00:24:18,570 Але проста прыняць на веру, што гэта @ Кнігі гэта зменная, якая ўяўляе сабой спіс 445 00:24:18,570 --> 00:24:20,000 усе кнігі. 446 00:24:20,000 --> 00:24:24,580 Так books.each, рабіць, і зноў жа, гэта проста кажу, як вы хочаце назваць 447 00:24:24,580 --> 00:24:29,580 кожны з итераторов так, што мы не прыйдзецца турбавацца аб чатырох, Int я 448 00:24:29,580 --> 00:24:30,630 бла, бла, бла. 449 00:24:30,630 --> 00:24:33,760 Мы проста бярэм кожны з элементы і выкарыстоўваць іх. 450 00:24:33,760 --> 00:24:38,890 >> Так што гэта кніга, а затым проста раздрукаваць тут. book.title, book.author, 451 00:24:38,890 --> 00:24:41,020 book.description, і бла, бла, бла. 452 00:24:41,020 --> 00:24:42,940 А вось link_to. 453 00:24:42,940 --> 00:24:46,840 Так link_to проста тэг спасылка што карыстальнік можа націснуць на і 454 00:24:46,840 --> 00:24:49,040 ідзе на іншы сайт. 455 00:24:49,040 --> 00:24:51,160 Link_to, паказаць, што іншую кнігу. 456 00:24:51,160 --> 00:24:56,480 Так, калі карыстальнік вельмі зацікаўлена ў гэтая кніга, то ён можа проста націснуць на шоў. 457 00:24:56,480 --> 00:24:59,350 Або націсніце на рэдагаванне, калі ён хоча рэдагаваць кнігу. 458 00:24:59,350 --> 00:25:03,560 Або знішчыць, калі ён хоча выдаліць кніга з базы дадзеных. 459 00:25:03,560 --> 00:25:06,260 ОК, ці значыць гэта мае сэнс? 460 00:25:06,260 --> 00:25:08,610 Добра. 461 00:25:08,610 --> 00:25:10,600 >> Нарэшце, кантролер. 462 00:25:10,600 --> 00:25:17,150 Таму ў асноўным кантролер Інтэрфейс паміж 463 00:25:17,150 --> 00:25:20,040 мадэль і выгляд. 464 00:25:20,040 --> 00:25:25,120 Такім чынам, мадэль з'яўляецца часткай вашай Код, які мае базу дадзеных - 465 00:25:25,120 --> 00:25:27,620 кожная табліца ў базе дадзеных мае адпаведны файл у 466 00:25:27,620 --> 00:25:30,120 мадэль, і так далей. 467 00:25:30,120 --> 00:25:34,890 І як мадэль і выгляд ўзаемадзейнічаць? 468 00:25:34,890 --> 00:25:36,990 Такім чынам, праз кантролер. 469 00:25:36,990 --> 00:25:43,620 Які кантролер робіць гэта мадэль для нешта накшталт, напрыклад, 470 00:25:43,620 --> 00:25:46,510 змясціць усе кнігі ўнутры зменнай. 471 00:25:46,510 --> 00:25:47,760 Як гэты, @ кніг. 472 00:25:47,760 --> 00:25:50,200 473 00:25:50,200 --> 00:25:54,800 >> І яна павінна быць глабальнай з гэтым на рэчы, таму што гэта будзе 474 00:25:54,800 --> 00:25:56,180 доступ прадстаўленні. 475 00:25:56,180 --> 00:26:00,000 Гэта не будзе выкарыстоўвацца на працягу сам кантролер. 476 00:26:00,000 --> 00:26:03,160 І гэта як раз запавольвае інфармацыю, якая выгляд збіраецца выкарыстоўваць. 477 00:26:03,160 --> 00:26:08,030 Напрыклад, кантролер правярае калі карыстальнік знаходзіцца ў сетцы. 478 00:26:08,030 --> 00:26:09,620 І як гэта зрабіць? 479 00:26:09,620 --> 00:26:11,760 Гэта на самай справе просіць мадэль таму, што мадэль мае 480 00:26:11,760 --> 00:26:12,890 Інфармацыя пра карыстальніка. 481 00:26:12,890 --> 00:26:15,840 Ён мае табліцу карыстальнікаў, кніг стол, іншыя табліцы. 482 00:26:15,840 --> 00:26:18,560 Такім чынам, кантролер пытаецца, карыстальнік знаходзіцца ў сетцы. 483 00:26:18,560 --> 00:26:23,760 Калі карыстальнік знаходзіцца ў сетцы, кантролер апрацоўвае такія рэчы, як пакласці печыва, 484 00:26:23,760 --> 00:26:28,120 ці нешта ў гэтым родзе, каб паставіць пячатку сказаць, што карыстальнік знаходзіцца ў сетцы. 485 00:26:28,120 --> 00:26:29,930 Няма неабходнасці зноў увайсці ў сістэму. 486 00:26:29,930 --> 00:26:34,080 >> І ён збіраецца загрузіць зменную Карыстальнік, напрыклад, што 487 00:26:34,080 --> 00:26:35,130 Ўяўленне можа выкарыстаць. 488 00:26:35,130 --> 00:26:42,375 І выгляд можа пакласці што-то тут, напрыклад, вітаць user.name. 489 00:26:42,375 --> 00:26:46,040 Так ён збіраецца сказаць, дабро запрашаем Джон, дабро запрашаем Джэймс - 490 00:26:46,040 --> 00:26:47,390 нешта накшталт гэтага, ці не так? 491 00:26:47,390 --> 00:26:50,380 Так што ўсе гэтыя зменныя выкарыстоўваюцца ў выгляд будуць загружаныя ў 492 00:26:50,380 --> 00:26:54,190 кантролер і будуць пад'ехаў з мадэлі. 493 00:26:54,190 --> 00:26:58,310 494 00:26:58,310 --> 00:27:00,555 >> Гэта прыклад кантролера. 495 00:27:00,555 --> 00:27:03,140 496 00:27:03,140 --> 00:27:08,640 Таму ў нас ёсць, у асноўным, кожны - 497 00:27:08,640 --> 00:27:10,010 мы называем гэтыя рэчы дзеянні. 498 00:27:10,010 --> 00:27:11,570 Так індэкс дзеянне. 499 00:27:11,570 --> 00:27:13,820 Гэта функцыя Рубі. 500 00:27:13,820 --> 00:27:16,160 Гэта метад Рубі там. 501 00:27:16,160 --> 00:27:19,350 Але для званкоў кантролера Тыя рэчы, дзеянні. 502 00:27:19,350 --> 00:27:24,830 І кожнае дзеянне звязана з маршруту. 503 00:27:24,830 --> 00:27:29,350 Дык вось гэты маршрут, напрыклад, з'яўляецца атрымання справаздачы / кнігі. 504 00:27:29,350 --> 00:27:37,500 Так што, калі вы ідзяце ў harvard2017.com/books, што адбудзецца гэта код 505 00:27:37,500 --> 00:27:40,630 будзе называцца. 506 00:27:40,630 --> 00:27:44,290 >> І ёсць файл - 507 00:27:44,290 --> 00:27:46,010 дазвольце мне адкрыць гэты сапраўды хутка. 508 00:27:46,010 --> 00:27:51,310 509 00:27:51,310 --> 00:27:55,386 Там у файл з імем файл зыходных. 510 00:27:55,386 --> 00:27:57,920 Гэта не адкрыццё. 511 00:27:57,920 --> 00:28:02,330 Такім чынам, ёсць файл з імем файл зыходных , Што ў асноўным адпавядае - 512 00:28:02,330 --> 00:28:03,580 О, цяпер ён адчыняецца. 513 00:28:03,580 --> 00:28:15,900 514 00:28:15,900 --> 00:28:17,550 Тут маршруты. 515 00:28:17,550 --> 00:28:24,440 Таму ў асноўным адпавядае напружанне, Актывацыя / новы напрыклад, 516 00:28:24,440 --> 00:28:27,810 нешта ў кантролеры. 517 00:28:27,810 --> 00:28:31,580 Так што гэты кантролер называецца кантролер актывацыі, але тут, 518 00:28:31,580 --> 00:28:32,790 мы маем кнігі, напрыклад. 519 00:28:32,790 --> 00:28:33,740 Так матчаў - 520 00:28:33,740 --> 00:28:39,040 кнігі / новы, з кантролерам кнігі, дзеянне новы. 521 00:28:39,040 --> 00:28:41,290 Так у асноўным, вельмі простая рэчы. 522 00:28:41,290 --> 00:28:43,970 523 00:28:43,970 --> 00:28:48,770 >> І вось, калі вы павінны былі атрымаць / кнігі, слэш ідэнтыфікатар кніг, слэш новы, 524 00:28:48,770 --> 00:28:53,250 Вы ідзяце да таго, што Метад там Рубі. 525 00:28:53,250 --> 00:28:58,210 Дык вось, тое, што гэты паказчык робіць толькі загрузка часопіс. 526 00:28:58,210 --> 00:28:59,570 Гэта тое, што - 527 00:28:59,570 --> 00:29:02,160 Я увайсці ўсе кнігі ў часопісе. 528 00:29:02,160 --> 00:29:03,050 І ўладзіць усё гэта. 529 00:29:03,050 --> 00:29:05,870 Так што гэта збіраецца вярнуцца усе спарадкаваныя кнігі. 530 00:29:05,870 --> 00:29:07,940 Гэта, зноў жа, у базе дадзеных. 531 00:29:07,940 --> 00:29:09,570 Такім чынам, гэта метад мадэлі. 532 00:29:09,570 --> 00:29:12,440 Вы бачылі гэты метад з'яўляецца створаны ў мадэлі. 533 00:29:12,440 --> 00:29:16,170 Зараз гэта проста загрузіўшы ўсе кнігі і пакласці, што ў зменнай, 534 00:29:16,170 --> 00:29:17,490 можна ўбачыць, прадстаўлення. 535 00:29:17,490 --> 00:29:20,680 >> Таму што вы не можаце, у сярэдзіне Ваш HTML код, вы не можаце патэлефанаваць 536 00:29:20,680 --> 00:29:23,940 нешта непасрэдна з мадэлі, таму што па дзвюх прычынах. 537 00:29:23,940 --> 00:29:28,260 Па-першае, па меркаваннях бяспекі, так як гэта не зусім цікава быць 538 00:29:28,260 --> 00:29:32,920 загрузцы інфармацыі непасрэдна ўнутры кожны HTML гэта ў базе дадзеных. 539 00:29:32,920 --> 00:29:36,030 А па-другое, каб захаваць ваш Код сапраўды арганізаваны. 540 00:29:36,030 --> 00:29:38,800 Так аддзяліць дакладна розныя часткі. 541 00:29:38,800 --> 00:29:42,830 Так BookLog.sorted_all, гэта ў базы дадзеных і гэта будзе ўведзена ў 542 00:29:42,830 --> 00:29:44,290 пераменная @ кніг. 543 00:29:44,290 --> 00:29:47,695 І цяпер гэтая пераменная даступная ў межах вашага HTML кода. 544 00:29:47,695 --> 00:29:54,610 Такім чынам, вы можаце проста пакласці ўсе кнігі там так жа, як мы зрабілі, прама тут. 545 00:29:54,610 --> 00:29:57,760 Гэта зменнай. 546 00:29:57,760 --> 00:30:04,730 >> І візіты respond_to зрабіць | Фармат |, гэта ўсяго толькі свайго роду сінтаксісу Ruby, для 547 00:30:04,730 --> 00:30:08,140 калі карыстальнік просіць мяне для HTML код, я збіраюся 548 00:30:08,140 --> 00:30:09,340 адказаць HTML кода. 549 00:30:09,340 --> 00:30:15,500 Калі карыстальнік пытаецца мяне з JSON кода, якая з'яўляецца тое, што з дапамогай вэб-прыкладанні 550 00:30:15,500 --> 00:30:20,780 мець зносіны паміж сабой, яны звычайна выкарыстоўваюць JSON або якой-небудзь іншай 551 00:30:20,780 --> 00:30:23,120 Такія рэчы. 552 00:30:23,120 --> 00:30:25,850 Так што проста адказвае, выкарыстоўваючы тыя два розных фарматах. 553 00:30:25,850 --> 00:30:31,720 Але для звычайнага карыстальніка, гэта ня трэба было б быць тут. 554 00:30:31,720 --> 00:30:34,060 Вы б проста адказаць HTML, і гэта нармальна. 555 00:30:34,060 --> 00:30:36,220 Так што не вельмі занепакоеныя тым, што шмат пра гэта. 556 00:30:36,220 --> 00:30:39,510 Гэта адзіны радок кода ў нашым кантроль, як гэта загрузцы з HTML 557 00:30:39,510 --> 00:30:42,630 У базе, укладваючы ў чымсьці, што даступнай прадстаўленні. 558 00:30:42,630 --> 00:30:49,870 >> А потым новы, таму тут Я ствараю кнігі. 559 00:30:49,870 --> 00:30:55,490 Але для стварэння кніг, мне трэба студэнту таму што мне трэба ведаць студэнту 560 00:30:55,490 --> 00:30:58,490 чые кнігі гэта належыць, прама. 561 00:30:58,490 --> 00:31:00,780 Так @ студэнцкай = Студэнт. 562 00:31:00,780 --> 00:31:06,500 Студэнт, зноў жа, мы пачынаем з вялікі S з'яўляецца ўзорным студэнтам. 563 00:31:06,500 --> 00:31:09,380 ОК, так што гэта мадэль студэнта, гэта часопіс мадэль кніга. 564 00:31:09,380 --> 00:31:15,150 Student.find, так што я збіраюся знайсці студэнт, выкарыстоўваючы параметры ID. 565 00:31:15,150 --> 00:31:19,160 params.id, гэта проста зразумейце мяне значэнне гэтага ID, які быў перададзены - 566 00:31:19,160 --> 00:31:23,410 і URL. 567 00:31:23,410 --> 00:31:25,440 >> Проста збіраюся шукаць гэтага студэнта. 568 00:31:25,440 --> 00:31:28,420 І ў першую, мы збіраемся праверыць калі студэнт мае некаторыя песні 569 00:31:28,420 --> 00:31:29,910 і бла, бла, бла. 570 00:31:29,910 --> 00:31:35,570 І гэта ўжо апрацоўвае выпадак, калі студэнт 571 00:31:35,570 --> 00:31:38,340 не існуе, напрыклад. 572 00:31:38,340 --> 00:31:44,450 А потым, яшчэ, мы проста рэагаваць да таго ж з выкарыстаннем HTML. 573 00:31:44,450 --> 00:31:47,570 І тады мы можам дазволіць карыстальніку ствараць свае песні. 574 00:31:47,570 --> 00:31:49,320 Так што гэта новае. 575 00:31:49,320 --> 00:31:52,580 Новы звычайна выкарыстоўваецца для, хай карыстачу ствараць нешта. 576 00:31:52,580 --> 00:31:56,440 А тут яшчэ стварыць дзеянне , Які звычайна выкарыстоўваецца для - 577 00:31:56,440 --> 00:31:59,040 фактычна паклаў песні ў базе дадзеных ці нешта ў гэтым родзе. 578 00:31:59,040 --> 00:32:01,770 Але як толькі вы пачынаеце выкарыстоўваць Rails, гэтыя рэчы будуць 579 00:32:01,770 --> 00:32:05,110 многае, многае іншае зразумела. 580 00:32:05,110 --> 00:32:07,910 ОК, астудзіць. 581 00:32:07,910 --> 00:32:09,715 Любыя пытанні да гэтага часу? 582 00:32:09,715 --> 00:32:15,240 Ці мае гэта мае сэнс з кантролерамі, мадэлі, палі - 583 00:32:15,240 --> 00:32:17,860 так? 584 00:32:17,860 --> 00:32:20,980 >> Зноў у вашым Rails прыкладання - 585 00:32:20,980 --> 00:32:24,700 так што ўсё, што можна знайсці ў тут. 586 00:32:24,700 --> 00:32:30,430 Так у вас ёсць прыкладанне, кантралёры, тых, ўсе з маіх кантролераў. 587 00:32:30,430 --> 00:32:32,880 Так, напрыклад, кнігі кантраляваць. 588 00:32:32,880 --> 00:32:35,490 Гэта той, які мы толькі што бачылі. 589 00:32:35,490 --> 00:32:36,400 А потым праглядаў. 590 00:32:36,400 --> 00:32:39,750 І кожны кантролер мае звязанае ўяўленне, ці не так? 591 00:32:39,750 --> 00:32:43,750 Так аўтаматычна пры выкліку гэтага Індэкс тут, напрыклад, ці калі вы 592 00:32:43,750 --> 00:32:49,930 называюць гэта кнігі новага, то меркаванне, кнігі, новая збіраецца назваць. 593 00:32:49,930 --> 00:32:53,300 >> Так Rails робіць усё аўтаматычна. 594 00:32:53,300 --> 00:32:59,420 Такім чынам, кожны кантролер мае звязаны з ім праглядаць і ўсе мадэлі - 595 00:32:59,420 --> 00:33:01,970 тут у мяне ёсць адзін, два, тры, чатыры, пяць мадэляў. 596 00:33:01,970 --> 00:33:05,800 Але гэта ўзорным студэнтам, так што тыя, зменныя, якія ўсё 597 00:33:05,800 --> 00:33:08,620 студэнты маюць - лакалізацыю, дата нараджэння. 598 00:33:08,620 --> 00:33:11,270 Студэнты трохі больш ўскладняецца тым, што ў кожнага студэнта ёсць 599 00:33:11,270 --> 00:33:15,400 больш іншы метад ў сціснутым выглядзе. 600 00:33:15,400 --> 00:33:18,770 Але гэта ўсяго толькі апрацоўка Табліца, меў усе 601 00:33:18,770 --> 00:33:21,980 студэнты ў базе дадзеных. 602 00:33:21,980 --> 00:33:24,300 >> І, добра, ўсталёўцы Rails. 603 00:33:24,300 --> 00:33:27,710 Ўстаноўка Rails, шчыра кажучы, не самая простая рэч. 604 00:33:27,710 --> 00:33:32,980 Але як толькі вы сканчаеце ўсё, гэта вельмі, вельмі лёгка. 605 00:33:32,980 --> 00:33:38,810 Так ўсталёўцы Rails, вы проста ідзяце ў сайт, rubyandrails.org / спампаваць 606 00:33:38,810 --> 00:33:41,510 і прытрымлівацца іх ўказанням там. 607 00:33:41,510 --> 00:33:42,700 Спампаваць усе. 608 00:33:42,700 --> 00:33:46,600 І вы можаце зрабіць гэта альбо ў Appliance, у CS50 Appliance, на 609 00:33:46,600 --> 00:33:51,120 Вокны, на Mac, або любой аперацыйнай Сістэма па вашаму выбару. 610 00:33:51,120 --> 00:33:52,460 Рубін на рэйкі працуе на ўсё. 611 00:33:52,460 --> 00:33:56,680 >> Напэўна вы ўжо ўсталявалі Рубін калі ў вас ёсць Mac або - 612 00:33:56,680 --> 00:33:58,130 ў гэтых сродках я думаю Рубін - 613 00:33:58,130 --> 00:34:00,940 Я не ўпэўнены. 614 00:34:00,940 --> 00:34:02,440 А потым вы проста мець гэтую праграму. 615 00:34:02,440 --> 00:34:07,190 І калі вы хочаце стварыць новы вэб-дадатак, вы проста 616 00:34:07,190 --> 00:34:10,270 зрабіць Rails, новы, блог. 617 00:34:10,270 --> 00:34:12,429 Рэйкі, новыя - 618 00:34:12,429 --> 00:34:13,310 Я не ведаю, - 619 00:34:13,310 --> 00:34:15,050 імя вашага сайта. 620 00:34:15,050 --> 00:34:16,380 І гэта так проста. 621 00:34:16,380 --> 00:34:19,060 >> Гэта збіраецца стварыць усе тыя, файлы я толькі што паказаў вам. 622 00:34:19,060 --> 00:34:22,730 Але мадэль, выгляд, а таксама Кантролер не будзе 623 00:34:22,730 --> 00:34:24,330 населены яшчэ. 624 00:34:24,330 --> 00:34:28,710 Ты проста прыйдзецца пайсці туды і запоўніць гэтыя тры тэчкі. 625 00:34:28,710 --> 00:34:32,840 Так шанцы, вы хочаце стварыць мадэль, напрыклад, рэалізаваць адзін 626 00:34:32,840 --> 00:34:33,780 мадэляваць ў першую чаргу. 627 00:34:33,780 --> 00:34:40,440 Такім чынам, яшчэ раз, заўсёды спрабуе ўкусіць менш біты праблемы за адзін раз. 628 00:34:40,440 --> 00:34:42,659 >> А потым скажам, стварыць мадэль для карыстальнікаў. 629 00:34:42,659 --> 00:34:44,370 Гэта першае, што калі ў вас ёсць карыстальнікі. 630 00:34:44,370 --> 00:34:48,440 Тады я хачу стварыць мадэль гэтак жа, як мы паказалі тут. 631 00:34:48,440 --> 00:34:58,470 Рэйкі, генераваць, мадэль, карыстальнік, а затым лісты радок - у нас ёсць, што тут. 632 00:34:58,470 --> 00:35:01,200 І проста стварыць гэтую мадэль, так. 633 00:35:01,200 --> 00:35:05,030 Рэйкі генераваць мадэль ліст карыстальніка: радок пароль: радок. 634 00:35:05,030 --> 00:35:09,650 >> А потым стварэнні кантролера якая мае справу з карыстальнікам. 635 00:35:09,650 --> 00:35:12,790 І вы можаце ствараць новых карыстальнікаў і зрабіць падобныя рэчы. 636 00:35:12,790 --> 00:35:18,280 І тады вы можаце пераходзіць да стварэння астатнія старонкі сайта. 637 00:35:18,280 --> 00:35:22,470 Крута, пытанні? 638 00:35:22,470 --> 00:35:23,230 Так. 639 00:35:23,230 --> 00:35:24,480 >> АЎДЫТОРЫЯ: [неразборліва] 640 00:35:24,480 --> 00:35:27,430 641 00:35:27,430 --> 00:35:29,910 >> GABRIEL GUIMARAES: Так, так, вы пэўна павінны пайсці ў поле зроку. 642 00:35:29,910 --> 00:35:31,290 Гэта вельмі добрае пытанне. 643 00:35:31,290 --> 00:35:36,410 Такім чынам, пункт гледжання, што на самой справе ўтрымлівае свой HTML. 644 00:35:36,410 --> 00:35:39,240 Так што гэта тое, што карыстальнікі пабачым. 645 00:35:39,240 --> 00:35:46,690 Зноў жа, тут гэта прыклад выгляду. 646 00:35:46,690 --> 00:35:52,040 Ён мае HTML-код і Рубі код адначасова. 647 00:35:52,040 --> 00:35:56,010 Таму код Рубі ёсць навесці з базы дадзеных, напрыклад, 648 00:35:56,010 --> 00:35:59,150 , Якія былі загружаныя на кантролеры. 649 00:35:59,150 --> 00:36:04,240 Так што пераменная @ кніг, напрыклад, мае ўсе кнігі і табліцу 650 00:36:04,240 --> 00:36:05,340 кніг у базе дадзеных. 651 00:36:05,340 --> 00:36:08,680 Мы пераканаліся, што гэта было ў кантролеры. 652 00:36:08,680 --> 00:36:10,250 >> І выгляд - 653 00:36:10,250 --> 00:36:15,900 кожнай з старонак з вашага сайта з'яўляецца будзе мець адзін асацыіраваны выгляд. 654 00:36:15,900 --> 00:36:21,762 Так што, калі вы ідзяце на галоўную старонку, вельмі першая старонка, harvard2017.com. 655 00:36:21,762 --> 00:36:23,490 Гэта паказвае адну старонку. 656 00:36:23,490 --> 00:36:26,760 А потым вы ідзяце скараціць анкету. 657 00:36:26,760 --> 00:36:30,150 Гэта збіраецца пайсці да кантролер вось кантролер профіль. 658 00:36:30,150 --> 00:36:34,620 І кантролер профіль будзе каб даць вам прадстаўленне профілю. 659 00:36:34,620 --> 00:36:37,590 І выгляд профілю будзе выглядаць некалькі, як гэта, але гэта будзе 660 00:36:37,590 --> 00:36:41,910 ёсць інфармацыя аб карыстальніку, а не пра кнігах. 661 00:36:41,910 --> 00:36:46,840 >> Так што гэта HTML код і CSS, і тыя, рэчы, якія карыстальнік бачыць 662 00:36:46,840 --> 00:36:49,680 з кодам Рубі - 663 00:36:49,680 --> 00:36:52,505 што на самой справе друкуе рэчы з базы дадзеных. 664 00:36:52,505 --> 00:36:54,520 Гэта больш зразумела? 665 00:36:54,520 --> 00:36:55,080 Я спадзяюся. 666 00:36:55,080 --> 00:36:58,066 >> АЎДЫТОРЫЯ: HTML код выкарыстоўваецца для на самай справе зрабіць сайт, які 667 00:36:58,066 --> 00:37:02,470 карыстальнік бачыць, але код Рубін тое, што робіць сайт працаваць? 668 00:37:02,470 --> 00:37:06,500 >> GABRIEL GUIMARAES: Код Рубін канверсуецца ў HTML. 669 00:37:06,500 --> 00:37:09,420 Так што карыстальнік атрымлівае толькі HTML, ОК? 670 00:37:09,420 --> 00:37:10,900 Гэта толькі HTML. 671 00:37:10,900 --> 00:37:18,740 Гэта book.title збіраецца пераўтварыць у значэнне book.title ў HTML, ОК. 672 00:37:18,740 --> 00:37:23,080 Так што гэта ўсё на сэрвэры, і таму гэта залежыць ад таго, што кнігі там 673 00:37:23,080 --> 00:37:24,410 на сэрвэры прама цяпер. 674 00:37:24,410 --> 00:37:32,930 Але тое, што сервер будзе неадкладна сэнс толькі HTML код, ОК. 675 00:37:32,930 --> 00:37:36,720 >> Але выгляд проста дае макет што HTML збіраўся выглядаць 676 00:37:36,720 --> 00:37:39,530 і тое, што зменныя будуць. 677 00:37:39,530 --> 00:37:42,170 Гэты выгляд раздрукаваць, ОК. 678 00:37:42,170 --> 00:37:44,360 Гэтыя рэчы ёсць у асноўным друкаваць аўтаў. 679 00:37:44,360 --> 00:37:47,430 Яны збіраюцца надрукаваць зменныя, ОК. 680 00:37:47,430 --> 00:37:49,850 Так што ж такое толькі HTML, тыя - 681 00:37:49,850 --> 00:37:51,390 аўтар, назва, апісанне. 682 00:37:51,390 --> 00:37:53,540 Гэта статычны кантэнт. 683 00:37:53,540 --> 00:37:54,520 Гэта не зменіцца. 684 00:37:54,520 --> 00:37:56,700 Гэта проста HTML код. 685 00:37:56,700 --> 00:37:59,080 Такія раздрукоўкі для зменных - 686 00:37:59,080 --> 00:38:00,330 рэчы, якія залежаць. 687 00:38:00,330 --> 00:38:02,350 688 00:38:02,350 --> 00:38:03,600 Cool, яшчэ пытанні? 689 00:38:03,600 --> 00:38:12,120 690 00:38:12,120 --> 00:38:12,600 Добра? 691 00:38:12,600 --> 00:38:13,080 Так. 692 00:38:13,080 --> 00:38:15,720 >> Залы: Я думаю, што вы рабілі ўсё рэдагаванне ў іншым тэксце 693 00:38:15,720 --> 00:38:16,920 мантаж праграмы. 694 00:38:16,920 --> 00:38:19,520 Ці павінны мы так жа спампаваць што? 695 00:38:19,520 --> 00:38:24,250 >> GABRIEL GUIMARAES: Так, мне падабаецца гэта тэкставы рэдактар ​​называецца TextMate. 696 00:38:24,250 --> 00:38:24,990 І гэта сапраўды добра. 697 00:38:24,990 --> 00:38:26,980 Гэта добра падыходзіць для Ruby. 698 00:38:26,980 --> 00:38:29,270 Гэта колеры рэчы вельмі акуратна. 699 00:38:29,270 --> 00:38:34,770 Так TextMate, Т-Е-Х-Т. Я збіраюся пакласці, што, трымайся - 700 00:38:34,770 --> 00:38:42,880 701 00:38:42,880 --> 00:38:45,720 >> Я маю на ўвазе, вы можаце выкарыстоўваць Gedit ці ўсё, што заўгодна. 702 00:38:45,720 --> 00:38:49,970 Але гэта з'яўляецца спецыфічным для Mac, і гэта сапраўды ахайны, паколькі яна ставіць усё 703 00:38:49,970 --> 00:38:51,000 Вашы файлы там. 704 00:38:51,000 --> 00:38:53,620 І ў Рубін на рэйкі, неабходна для пераключэння файлы шмат. 705 00:38:53,620 --> 00:38:55,890 Так што гэта шмат, шмат файлаў проста перайсці з аднаго файла, перайсці да 706 00:38:55,890 --> 00:38:57,120 адзін файл ці іншай. 707 00:38:57,120 --> 00:39:02,000 Так TextMate з'яўляецца вельмі добрым, але Ёсць шмат там. 708 00:39:02,000 --> 00:39:03,250 Яшчэ пытанні? 709 00:39:03,250 --> 00:39:08,680 710 00:39:08,680 --> 00:39:09,870 Добра, так? 711 00:39:09,870 --> 00:39:12,825 >> АЎДЫТОРЫЯ: Ці ёсць мабільны развіццё праз Рубін на рэйкі? 712 00:39:12,825 --> 00:39:15,640 713 00:39:15,640 --> 00:39:17,050 >> GABRIEL GUIMARAES: Я чуў рэчаў. 714 00:39:17,050 --> 00:39:19,550 Я не выкарыстоўваў іх. 715 00:39:19,550 --> 00:39:21,570 Вы маглі даследаваць больш падрабязна пра гэта. 716 00:39:21,570 --> 00:39:24,740 Я не ўпэўнены, ці ёсць добрая рэч там. 717 00:39:24,740 --> 00:39:29,980 718 00:39:29,980 --> 00:39:31,030 Добра, так? 719 00:39:31,030 --> 00:39:32,280 >> АЎДЫТОРЫЯ: [неразборліва] 720 00:39:32,280 --> 00:39:38,340 721 00:39:38,340 --> 00:39:40,550 >> GABRIEL Гимарайнш: Ня рэйкі, верагодна, Рубі масіў. 722 00:39:40,550 --> 00:39:44,270 723 00:39:44,270 --> 00:39:49,080 Адкрыйце акно тэрмінала і тып, "Рубін". 724 00:39:49,080 --> 00:39:52,030 Так, напэўна, і тады вы толькі павінны ўсталяваць Rails. 725 00:39:52,030 --> 00:39:57,050 Але калі вы збіраецеся ўсталяваць новы Рэйкі 4,0, які я вельмі рэкамендую, 726 00:39:57,050 --> 00:40:02,870 Вы павінны загрузіць Рубін 2.0. 727 00:40:02,870 --> 00:40:04,530 Гэта новы таксама. 728 00:40:04,530 --> 00:40:09,530 І новыя рэйкі 4.0 ёсць нешта Выдатна, што 729 00:40:09,530 --> 00:40:11,260 што і ў дачыненні да актываў. 730 00:40:11,260 --> 00:40:12,810 Ён апрацоўвае актываў. 731 00:40:12,810 --> 00:40:18,860 Актывы зноў вобразы, CSS файлы, і файлы JavaScript. 732 00:40:18,860 --> 00:40:24,060 Так што сапраўды прыемная рэч, што Рубін на Рэйкі ж для вас гэта ўсё з тых CSS 733 00:40:24,060 --> 00:40:26,980 файлы, якія вы павінны і ўсё - 734 00:40:26,980 --> 00:40:32,420 ён проста звязвае ўсе ўверх у адзін велізарны файл, без прабелаў або што-небудзь, 735 00:40:32,420 --> 00:40:40,120 мінімізаваць час карыстальнік павінен спампаваць гэты код з вашага сервера. 736 00:40:40,120 --> 00:40:47,780 >> Таму, калі вы бачыце на вашым кампутары, гэта будзе мець як 15 CSS-файлаў. 737 00:40:47,780 --> 00:40:49,520 Або шмат, шмат розных файлаў CSS. 738 00:40:49,520 --> 00:40:54,890 Але ў рэшце рэшт, што Рэйкі аўтаматычна робіць для вас гэта ставіць 739 00:40:54,890 --> 00:41:00,760 ўсе разам у адзін велізарны файл так, што ён зводзіць да мінімуму час запыту. 740 00:41:00,760 --> 00:41:02,630 Гэта сапраўды выдатна. 741 00:41:02,630 --> 00:41:02,940 Да? 742 00:41:02,940 --> 00:41:04,190 >> АЎДЫТОРЫЯ: [неразборліва] 743 00:41:04,190 --> 00:41:13,910 744 00:41:13,910 --> 00:41:14,440 >> GABRIEL GUIMARAES: Цалкам дакладна. 745 00:41:14,440 --> 00:41:16,230 Так, інтэграцыя Google Maps. 746 00:41:16,230 --> 00:41:20,200 Гэта API JavaScript ад Google. 747 00:41:20,200 --> 00:41:23,750 Так што я проста пайшоў на сайт Google. 748 00:41:23,750 --> 00:41:29,950 У іх ёсць гэтая API і я Google Maps загрузілі код і інтэгравалі яго 749 00:41:29,950 --> 00:41:31,610 у поле майго зроку. 750 00:41:31,610 --> 00:41:35,490 Так што я павінен быў зрабіць там гэта я павінен быў атрымаць 751 00:41:35,490 --> 00:41:37,310 месца з базы дадзеных. 752 00:41:37,310 --> 00:41:38,990 Гэта было зроблена ў кантролеры. 753 00:41:38,990 --> 00:41:40,950 Так што я пайшоў да кантролер - 754 00:41:40,950 --> 00:41:42,350 дзе кантролер. 755 00:41:42,350 --> 00:41:44,330 Кантролер выглядала так. 756 00:41:44,330 --> 00:41:48,660 Ёсць усе месцах студэнты, пакласці усё гэта ў вялікі 757 00:41:48,660 --> 00:41:52,060 зменная, вялікі спіс, што мае ўсе месцы. 758 00:41:52,060 --> 00:41:55,340 >> І з пункту гледжання, таму што JavaScript API нешта ў 759 00:41:55,340 --> 00:41:55,800 глядзець, правільна? 760 00:41:55,800 --> 00:42:00,440 Паколькі JavaScript выконваецца непасрэдна ў HTML Код, ён збіраецца быць накіраваны 761 00:42:00,440 --> 00:42:01,710 кампутар карыстальніка. 762 00:42:01,710 --> 00:42:09,310 І з пункту гледжання, я загрузіў усё, што Інфармацыя ў Google API. 763 00:42:09,310 --> 00:42:12,080 І ён зрабіў усё, што для мне, што гэта сапраўды крута. 764 00:42:12,080 --> 00:42:16,240 Але калі вы хочаце выкарыстоўваць рэчы ў фонавым, і гэта, як бібліятэкі, для 765 00:42:16,240 --> 00:42:18,720 прыклад, зноў жа - 766 00:42:18,720 --> 00:42:20,140 інтэграцыя з Facebook. 767 00:42:20,140 --> 00:42:24,060 Гэта тое, што многія, многія, многія прыкладання выкарыстоўваюць у цяперашні час. 768 00:42:24,060 --> 00:42:27,300 >> Так ёсць свой інтэграцыю з Facebook , Таму што гэта значна прасцей проста 769 00:42:27,300 --> 00:42:30,450 ўвайсці з Facebook, чым ствараць рахунку і бла, бла, бла. 770 00:42:30,450 --> 00:42:35,120 Тады вы проста карыстаецеся камень, і гэта, як проста, як ісці да вашага жамчужына файла. 771 00:42:35,120 --> 00:42:39,350 Джэм файл ўяўляе сабой файл называецца жамчужынай файл у крыніца каталогу вашага Рубін на 772 00:42:39,350 --> 00:42:40,370 Рэйкі праект. 773 00:42:40,370 --> 00:42:43,700 Проста ідзеце туды і дадаць новы каштоўны камень. 774 00:42:43,700 --> 00:42:45,300 А вы паглядзіце яго на Google. 775 00:42:45,300 --> 00:42:46,520 Ёсць шмат, шмат, шмат каштоўных камянёў. 776 00:42:46,520 --> 00:42:51,070 Там адна, што адмыслова робіць гэта для інтэграцыі Facebook. 777 00:42:51,070 --> 00:42:54,660 Я не ўпэўнены, што яму імя. 778 00:42:54,660 --> 00:42:56,680 Проста Google гэта, і вы збіраецца знайсці яго. 779 00:42:56,680 --> 00:42:57,930 Добра, яшчэ пытанні? 780 00:42:57,930 --> 00:43:01,110 781 00:43:01,110 --> 00:43:03,280 Дзіўны, дзякуй, што прыйшлі. 782 00:43:03,280 --> 00:43:09,227