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 він тільки взяв мене три чи чотири години, або щось в цьому роді. 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