[Играет музыка] СТИВЕН TURBAN: Так что я Стивен тюрбан. Над на стороне здесь, может быть, мы может получить некоторые люди погружения в. У нас есть Гавриил и Зака. Таким образом, для краткого дорожной карты о том, что это будет выглядеть, Я собираюсь делать некоторые чрезвычайно высокого уровня взгляд на то, что MVC является. Гейб? GABRIEL Гимарайнш: Я собираюсь говорить о Руби и немного как Rails работает и как это может помочь вам создавать веб-приложения. ZACK CHAUVIN: И я собираюсь показать вам конкретный пример того, как использовать Rails для создания супер удивительным приложение. СТИВЕН TURBAN: Awesome. Сладкий. Хорошо. Итак, давайте поговорим о MVC. Итак, давайте перейдем к следующему слайду, который Я сделаю, нажав на эту кнопку. И давайте идти на next-- развития, Мне нравится думать о собираюсь CVS, потому что CVS является хранение и также имеет V в центре. И так давайте представим, в магазин. И давайте сделаем этот магазин продать только одну вещь. Итак, мы собираемся, чтобы это хранить только продать эти красные чашки. И представьте, что вы входите, и вы идете в передней части магазина, и человека. И его зовут Винс. И Винс волны привет на вас, говорит привет. И вы заметите одну вещь о Винса. Поэтому, когда мы думаем о Винс, мы надо думать о двух ключевых прилагательных. Винс красиво, но он глуп. ОК. Таким образом, вы знаете, не по своей вине, К сожалению, он красиво. Он наш взгляд. Таким образом, наш первый актерский состав есть. Имейте это в виду. Теперь, спросите вы Винса, вы идете, эй Винс. Я клиент. Он говорит, привет. Я действительно хочу один из ваших красных чашек. И что Винс сказать? Кто-нибудь есть какие-либо Идея, что говорит Винс? Я собираюсь холодной вызова. Что вы думаете Винс говорит? АУДИТОРИЯ: Он говорит, что я могу показать вам, где он находится, но я не могу дать вам один. СТИВЕН TURBAN: Он говорит, что я могу показать вам, где он находится, но я не могу дать вам один. Даже хуже. Кто-нибудь еще есть другой знаю, что Винс может сказать? АУДИТОРИЯ: Он должен пойти проверить есть ли у них красные чашки. СТИВЕН TURBAN: Винс не даже знаю, что он должен проверить. Что-нибудь еще? Так вы сказали, должен проверить, если он имеет красные чашки. Продолжай. АУДИТОРИЯ: Что Красная чашка? СТИВЕН TURBAN: Что Красная чашка? Что Красная чашка? Винс в замешательстве. Так Винс собирается поговорить с Наш следующий актерский состав, Карл. И когда мы думаем о Карле, мы Должен думать о двух больших adjectives-- он контролирующим, но он не в состоянии. Так Винс goes-- он идет, что Красная чашка? Я не знаю, что красный чашки. Он оборачивается и спрашивает Карл. Он говорит, Карл, кто-то попросил красной чашки. Можете ли вы это сделать? И что же Карл сказать? Давайте понять это. Кто-нибудь есть любая Идея, что говорит Карл? И я просто повторить его обратно к вам. Я видел движение руки. АУДИТОРИЯ: Он говорит кто-то еще, чтобы получить красные чашки. СТИВЕН TURBAN: Он говорит кто-то еще, чтобы получить красную чашку. Именно так. И у нас есть идея кто этот человек может быть? Это намек. Это будет начать с М. Mob? АУДИТОРИЯ: Модель. СТИВЕН TURBAN: модель, да. Его имя не модели, к сожалению, потому что это глупое название. У нас есть Mitt. И когда мы думаем о Mitt-- Нет, это не картина Зака. Мы должны думать о двух Основные прилагательные с рукавицей. Он способен, но он покорным. Так Митт знает, что он должен сделать, но он действительно ничего не может сделать. Или он действительно не может решить, сам по себе. Итак, мы имеем Карл. Карл кричит на выставке MITT. И он говорит, эй Митт, мы должны красные чашки. И Митт идет к своей красной депозитария чашки. Он хватает чашку, и он дает его обратно. Кто-нибудь есть любая идея, что происходит потом? Дает чашку. Пока Митт отправился в свой красный хранилище чашка, взял его, проверить его, сказал: Я взял одну красную чашку. И он дает его с Карлом. У вас есть идея? Что вы думаете Карл делает? АУДИТОРИЯ: Карл дает его Винсом. СТИВЕН TURBAN: Карл дает его Винсом. Винс. АУДИТОРИЯ: И Винс показывает, что он [неразборчиво]. СТИВЕН TURBAN: Совершенно верно. Так вот именно он. Так Винс берет чашку, даже не знаю, что это такое, но он показывает его пользователю. Так давайте попробуем воссоздать это действительно кратко. И мы собираемся необходимость три тихие добровольцев, как вы, ребята, не собирается чтобы быть в состоянии говорить. Так я мог захватить три? ОК. И кем бы вы хотели быть? Аудитория: Я буду Винс. СТИВЕН TURBAN: Винс, OK. Красиво, но глупо. Отлично. Кто-нибудь еще? Мы ищем способен, но покорным. Кто-нибудь еще хочет быть в состоянии? Аудитория: Я мог бы быть Carl. СТИВЕН TURBAN: Sweet. У нас есть Карл. АУДИТОРИЯ: Митт. СТИВЕН TURBAN: Митт, OK. И мы собираемся нужно a-- я буду клиент. Так что приходите на до, давай до. И все в силу? Так что я собираюсь спросить Винса стоять в передней, так улыбаясь, просто улыбается так ярко, как это возможно. И мы собираемся попросить Карла, Хорошо, почему бы тебе не, вроде бы, стоять прямо за ней? И Митт, почему бы тебе не просто уходят в спину, и тогда я дам вам группу чашек, чтобы болтаться с. Так что я клиент. Я приду. И я делаю [неразборчиво] Я говорят, привет, я хотел бы чашку. Идеально подходит. Так Винс не имеет ни малейшего представления. Итак, что же Винс делать дальше? Vince-- ОК, так что я собираюсь быть повествующая сейчас. Винс кричит на Карла, чашка! Что Карл делать? Карл кричит на выставке MITT. Митт хватает чашку. Митт дает его Карлу. Карл возвращается его Винсу. И Винс показывает его пользователю. И это высокий, высокий, высокий, так высоко взгляд на MVC. Мы делим его на имеющие вид, что пользователь видит, контроллер, кто кто делает все, что в фоновом режиме но на самом деле ничего не могу обновить или что-нибудь какое-либо значение не может сделать кроме вызова вид и модель. А то у нас Mitt, модель, кто обновляет все данные у нас есть. Так что спасибо вам большое за наш прекрасный, управления, и способные волонтеры. И я думаю, что это было. [Аплодисменты] Я думаю, Гейб будет говорить сейчас на надеяться, менее высоком уровне. GABRIEL Гимарайнш: Хорошо, ребята. Теперь давайте поговорим немного больше о Код и о Руби на себя Rails, и о том, как он относится для всех в этой истории MVC. В основном, Ruby на Rails является основой. Подробнее об этом в секунду. Но только, чтобы дать вам о том, кто использует его, как все эти большие companies-- так GitHub, Groupon, Twitter-- они все с использованием Рубин на Рельсы в качестве основного рамках для реализации их на сайте. Так что я уверен, что много людей использовали эти сайты здесь. И все это Ruby On Rails для реализации модель, вид и контроллер на всех этих веб-сайтов и многое другое. ОК? Так как я уже сказал, Рубин на Rails является основой. И вы можете бы думаю рамок в смысле, как строить дом. Так что если вы собираетесь строить house--, и вы можете всегда начать с нуля, не так ли? Вы можете попробовать придумать с образом увидел дерево, и довести древесину до места, и чтобы получить камень в правой формы, а затем все это. Но что происходит, чтобы принять вероятно, много лет пока вы не получите все материалы, и вы получите все вместе, и вы на самом деле начать построить свой дом. Вот и получается, если вы начинаете с рамки с чем-то, что это уже вроде на месте для любого типа дома что вы хотите build-- что-то это очень общий, но что вы можете то модели, к своему усмотрению goals--, то вы можете использовать Эта сила рамках строить им что-то гораздо, гораздо быстрее. ОК. Так что это та же самая идея в рамки для веб-приложений или для различных типов Приложение, по этому вопросу. Вы на самом деле начать с половиной приложения там уже на месте для вас. И это, я имею в виду вы получите много файлы, которые уже имеют функции, как библиотеки, как функциональность, и команды, которые можно запустить в порядке чтобы сделать вашу жизнь намного проще и легче. ОК. Таким образом, в этом случае, мы собираемся говорить о Ruby On Rails. Есть много различных каркасов там. Там же Django для Python. Там это в Zend Framework или Laravel для PHP. Есть много разных. Рубин на Rails является очень приятно новый. Многие люди используют, что в стартапы и этот вид окружающей среды. И некоторые из них очень большой компании, которые я показал здесь раньше Также с помощью Ruby On Rails. Так что просто дать вам ощущение того, что Руби как, так как вы, ребята, больше привыкли чтобы, как, C и немного PHP сейчас, так Рубин будет эквивалент вашей PHP в этом смысле. Это не Руби. Это C. OK? Но это, как Функция DJBHash, что я знаю, что многие люди использовали для Pset опечатками. И в Ruby, довольно так же, как в PHP, вы могли бы реализовать это с лишь несколько строк кода. Вместо того, чтобы беспокоиться о хэш-функции, беспокоясь о ведрах, и все, что вы можете просто сказать, словарь = Hash.net. И тогда вы используете вроде как Та же идея, что PHP не было. И так это истина. И потом, если вы хотите, чтобы проверить, так что проверить функцию если бы словарь "Foo" равна равна правда, возвращение правда. И это все, ладно? Таким образом, вы заметите, некоторые различия. Там нет точки с запятой здесь, как это было в С Но общая идея очень похожа. ОК? Кроме того, в Ruby, есть драгоценные камни, которые являются своего рода библиотек Руби. И Rails обрабатывает их в очень хороший способ для вас. Так что если вы хотите поставить в какой-то библиотеки, которые делает электронную почту, или что делает текстовыми сообщениями, или что делает интеграцию с Facebook, или какой-либо вещи как, что для вашего приложения, это очень, очень легко. Скорее всего вы можете найти что-то так в Интернете. И они просто делают что-то вроде сайте, который драгоценный камень вы хотите использовать в файле драгоценных камней. А потом Rails устанавливает все. Вы не должны беспокоиться о каких-либо того, что, таким образом, это действительно здорово. Кроме того, есть много, много онлайн помощь. Таким образом, вы можете найти много вещей. Если у вас есть ошибки, вы можете просто Google его, и это будет очень легко получить помощь. И это много fun-- exactly--, потому что вы не придется беспокоиться о низком уровне детали, реализация хэш-таблиц и того, чтобы придумать все HTTP-заголовки, и много вещей, и даже некоторые более высокие вещи уровня. Вы не должны беспокоиться о том, что в Rails. Это делает его очень, очень хорошо для вас. И мы собираемся показать, что более конкретно очень скоро. ОК. Так немного о Руби снова. Так что это просто, как C, как я уже сказал. Вместо того, чтобы Printf, мы говорим, "Ставит", который является "положить строку". Это ставит строку на консоль. И в этом случае, мы просто печати "Hello World". Нам не нужно скобки, но это в значительной степени схожи. И потом, если вы хотите сделать что-то здесь, как напечатать кучу "штанах" и куча "BIGS" в то время как цикл, это вроде как в С, не так ли? Вы не имеете Params, но это в значительной степени то же самое. Отступы здесь подсчитывает, поэтому х равен 1. И потом, когда х меньше, чем 50-- это Если это остальное. Это довольно много, как то, что вы видели. И тогда х + = 1 только увеличивая, вроде как делает ++, которые вы можете сделать в С. Но это довольно много, что вы видели в С. Она не должна быть слишком сложной. Но это более мощным. Таким образом, существует несколько команд здесь что, безусловно, немного новее. Так, например, "пут". Вы можете использовать эту хэштегом обозначения здесь просто распечатать something-- очень похоже на то, что вы могли бы сделать, если % D или% C или несколько, как, что. И вы можете поставить Если сразу после утверждения. Так что я хочу делать только this-- Если х больше, чем 3. Так почему бы я должен сделать всю Если блок? Я не знаю. Я могу просто распечатать это только если х равен больше, чем 3. Так что это способ одной линии делать это в Ruby. Список в Рубине что-то очень универсальным. Таким образом, вы действительно не нужно иметь только один тип. Вы можете иметь строку, а затем некоторые числа, и все. И если вы хотите, чтобы добавить то в список, вы можете просто использовать это Обозначения прямо здесь. И если вы хотите перебрать. Довольно много 4each в PHP, здесь, вы есть список, и вы делаете "List.each сделать." И это "Элем", это как имя каждого элемента что я буду иметь в моем списке. И тогда я просто не могу "ставит элем." И "ставит" довольно много ручки положить его для вас, печати. Это не имеет значения, если это строка или INT. Это будет работать, что для вас. Верно? Круто. И так же, как PHP, Ruby и HTML также интегрировать очень, очень красиво. И вот, есть какая-то HTML с Рубином в нем. Поэтому у нас есть тег тела, как в HTML. И если мы хотим, чтобы проверить что пользователь, например, вошли в систему, мы можем просто сказать: начало Руби, если user.logged_in ?, конец Ruby. Распечатать эту всю вещь, которая есть некоторые Руби в нем, что это просто вроде как, что синтаксис для PHP, что печатает переменную. Давайте печатать user.name. Так что добро пожаловать, Стивен, внутри HTML-див. И в конце концов, у нас есть "конец" и Руби код, который означает, что это мой Если блок. ОК? Так что это просто, как бесшовные интеграция между Рубином и HTML. Есть также много ресурсов. Но прежде чем мы перейдем, кто-нибудь есть какие-либо вопросы о Ruby, что-нибудь? ОК. Есть много ресурсов в Интернете в tryruby.org, код академии, ruby-lang.org, где вы можете попробовать его на вашем браузере перед вами на самом деле говорят, о, хорошо, я собираюсь использовать Руби для моего окончательного проекта. И так определенно дают тем, попробовать. Все эти слайды являются будет доступна онлайн, так что вы можете просто загрузить их. И да? АУДИТОРИЯ: [неразборчиво] что вы только что показали, был HTML и код, внедренный в их в это понятие Model View Контроллер? GABRIEL Гимарайнш: Да. Мы сделаем это в секунду когда мы показываем наш пример, хорошо? Спасибо за вопрос. Так вопрос был в основном, если мы может показать эту интеграцию Руби в HTML в рамках модели Просмотр базы контроллера. Таким образом, идея модели База View Controller это в основном философия, так же, как Стивен показал здесь. И это не то, что у вас есть, чтобы сделать, но это то, что делает Ваша жизнь намного проще. И Рубин на Rails построен вокруг этой философии кода. Итак, мы собираемся, чтобы показать Пример очень скоро. Так Rails есть любовь. Многие люди используют его, как я уже сказал. И это действительно весело. Вы, ребята, должны безусловно, дать ему попробовать. MVC делает все проще. Таким образом, Model View Controller, разделяющие вещи и положить один человек, по сути, или одна часть вашего приложения сделать каждого из различных рабочих мест что ваше приложение имеет дело. И меньше времени провел по проблемам низкого уровня. И очень популярны сейчас. У нас есть Rails 4.0, что новая версия. И это происходит с большим количеством интересного материала. Другой вопрос. АУДИТОРИЯ: Еще один вопрос. Рубин на Rails против Рубин на Rails Grails. GABRIEL Гимарайнш: OK. Вопрос был, Ruby на Rails против Ruby-- АУДИТОРИЯ: Grails. Руби? GABRIEL Гимарайнш: Да. Так Рубин язык. АУДИТОРИЯ: Нет Я прошу вас, чтобы сравнить язык и рамки, Ruby на Rails, с другой популярной языка framework-- Grails-- с Рубином по рельсам. GABRIEL Гимарайнш: OK. Извините. Вопрос, сравните Руби и Рубин на Rails в других рамках и another-- АУДИТОРИЯ: Ruby. Это нормально. Если вы не знаете об этом, это нормально. GABRIEL Гимарайнш: Как, Насколько я понимаю, это that-- АУДИТОРИЯ: Там еще один Основы политики призывают Grails. GABRIEL Гимарайнш: О, Grails. Я никогда не слышал о нем. Извините. Я никогда не слышал о Groovy на Rails. Извините. АУДИТОРИЯ: Это гораздо лучше, интегрирован с Java. GABRIEL Гимарайнш: Я вижу. Аудитория: Я просто любопытно о некоторых людях, которых я знаю like-- не GABRIEL Гимарайнш: Нет, я никогда не слышали о том, что один, к сожалению. Grails. АУДИТОРИЯ: И некоторые люди Очевидно, как Ruby On Rails. GABRIEL Гимарайнш: Я б Рубин на Rails много. Я использовал некоторые Django с Python, как я уже сказал. Я использовал некоторые Laravel. Но я не использовал Groovy на Rails. Извините. И это очень популярно Теперь с Rails 4.0. Мол, некоторые из вещей, которые Rails делает для вас, например, вы есть много CSS файлов и много файлов JavaScript. И вы можете рассматривать их как отдельно и все. Но тогда это automatically--, когда Вы отправляете код к производству, он автоматически компилирует их все в один файл который уменьшенная без каких-либо пространства, так что она занимает меньше места в вашем приложении, что вы действительно можете масштабировать вещи много. Вот почему такие крупные компании как Twitter и GitHub использовании Rails, потому что она делает все, что для вас, что это действительно круто. Одна вещь, которая очень, очень, очень сложной для людей, включая меня, кто пытается работать с каркасом в начале, является что, когда вы начинаете приложение, Вы будете видеть кучу файлов. Мол, при создании Rails Новый мое заявление, Вы будете видеть все это folders-- приложение, BIN, конфигурации, дБ, Lib, войти, общественность. Мол, много-много всякой всячины. И первый раз, когда я увидел, что я был бы, Хорошо, я понятия не имею, что происходит. Я просто хочу, чтобы создать Веб-сайт с "Привет, мир", и это дает мне, как, 100000000000 разных страницах. Я не знаю, что происходит. Поэтому, пожалуйста, не будьте слишком смущаясь тем, что. Идея заключается в том, что он на самом деле имеет половину дома для вас уже. Она имеет целую рамки для вас уже. Вот почему существует так много файлов. Но приятно то, что это отделяет все из них очень хорошо. Скорее всего вам не придется беспокоиться о большинстве из этих папок. Наиболее важным из них, я бы сказал, папка приложения, где ваше приложение на самом деле живет. Так конфигурации, вы собираетесь должны конфигурировать некоторые вещи, как базы данных и тому подобное какой вид базы данных, которую вы используете. Но кроме того, что, как и большинство ваша работа будет сделано в приложении. Таким образом, в приложении, у вас есть активы, контроллеры, помощники, почтовые, модели, виды. Так вот, вы начинаете видеть, что контроллеры, модели и виды приходят в игру. Конверты являются просто если Вы Чтобы отправить электронную почту. Помощники, если вы хотите, чтобы создать несколько функций что вы используете много в представлении. Таким образом, вы поместите их в помощников. И активов в основном все Ваши изображения, все ваши CSS, все ваши JavaScript, и как эти виды вещей, которые будут посланы клиенту. И все это в активах, что я сказал раньше, получает сжатый. Это компиляции. И вы действительно не нужно беспокоиться о что, когда он идет в рабочем коде. Круто. Теперь Зак придет в, и он собираюсь сделать пример Twitter50. АУДИТОРИЯ: Woo-Hoo! ZACK CHAUVIN: Awesome. Так что я имел возможность работать с Рубином на Rails этим летом. Это удивительная структура. Я очень неравнодушен к ней. И я просто покажу вам немного пример того, что может выглядеть. Перейти к Chrome. Так что это пример очень простой Рубин на Rails application-- что-то как это что-то что Руби действительно выделяется that-- только там, где ваш модели очень хорошо определены. В этом примере, вы увидите, две различные модели, которые в том, что у нас есть пользователей и у нас есть твитов. Так что это Twitter50, Собственный Twitter Гарварда. Как вы можете видеть, я вошел, какzack. И я в состоянии сделать новые твиты. Так что я think-- "Это" - извините? АУДИТОРИЯ: [неразборчиво]. ZACK CHAUVIN: О, хорошо. Нужно остановить сервер. Отлично. Так вот мы здесь. Как вы можете видеть, у нас есть Twitter приложение прямо здесь. И это очень легко запустить сервер. Мы просто сделаем "рельсы сервер." Отлично. ОК. Спасибо за это. Так что теперь мы бежим. И мы будем говорить: "Это является удивительным семинар ". И давайте посмотрим, что произойдет. Таким образом, мы чирикать об этом. Там, на дне, вы можете увидеть теперь есть более чем в три чириканье. Поэтому у нас есть немного нумерации страниц происходит. И у нас есть, что в твиттере. И я также можете искать через мое tweets-- поиск для этого и двух те, которые имеют слово "Это" в них появляются. Мы также можем удалить твиты от нажав на кнопку Удалить мало. И очевидно, что я могу только удалить пост, который принадлежал мне. Уже сейчас почти у Функциональность Twitter. Мол, когда вы думаете об этом, Twitter на самом деле не делать все, что много. Это есть пользователи, у него есть твитов. Там какая-то более сложная функциональность. Но когда вы действительно получите вниз к нему, это довольно просто Рубин на Rails приложение. И что-то вроде этого, с Хорошее понимание Ruby On Rails, вы, вероятно, сделать в течение часа или двух. И это действительно происходит Вернуться к мантре Руби, что Конвенция по конфигурации. Итак, вернемся в тот же день, люди, в любое время они хотели, чтобы сделать этот веб-сайт, придется начинать с нуля. ОК, я хочу, чтобы сделать веб-сайт. Давайте сделаем этот файл и Этот файл и этот файл. С Ruby On Rails, нет ни в этом. Вы говорите, что я хочу, новое приложение. И так же, как Гейб показал нам, что создает всю структуру файла для нас. И мы просто изменить маленькие детали, которые мы должны. Мы просто настроить, какие Уникальность нашего приложения. Круто. Так возвращаясь к нашей презентации preview-- интересно. Где я могу представить? АУДИТОРИЯ: Полный экран. Вверху справа. ZACK CHAUVIN: Отлично. Круто. ОК. Поэтому в первую очередь, модель. Стивен сделал удивительный Работа с изложением MVC. И теперь мы собираемся связать что еще в Ruby On Rails. Так модели вы можете вид Думай как базы данных. Вы в последний раз видел это в CS50 Финансы, где модель магазины информация о сколько акций у вас есть, или все операции, которые вы сделали. Это является примером линия, как бы вы идти о том, новую модель в Rails. Поэтому я хочу пользователя. Это будет иметь электронной почты, который является строкой, и пароль, которые Также строка. Так что это, как those-- Я хочу, чтобы каждый ряд в моей таблице пользователей, чтобы выглядеть. Действительно удивительным часть о Rails является то, что его делает ненужным писать SQL довольно много. Как многие из вас, ребята любят писать SQL в PSET 7? Именно так. SQL не очень удобно. И Rails рефераты все, что от с этих действительно легко команд. Так, например, если у нас есть Пользователь, пользователь имеет много твитов. И каждый из тех, Твиты принадлежит пользователю. Так что, если вы посмотрите здесь, это наша модель для нашей твит. И все, что мы должны сказать, Этот сингл line-- Я твит и я принадлежу к пользователю. И с этой единственной строки, и немного конфигурации базы данных, Rails устанавливает эту связь. В любое время, я могу просто сказать zack.tweets, как, дай мне все Zack твитов. Нет SQL. Супер легкий. Опять же, это Соглашение по Конфигурация вступления в игру. Вы можете увидеть немного примера Рубин здесь. Как Дал сказал, писать Рубин вроде как писать по-английски. Это очень язык программирования высокого уровня, и это делает его очень легко для нас, чтобы сказать что-то вроде, я хочу убедитесь, что твит есть тело. Его присутствие правда. И я хочу, чтобы убедиться, что это чирикать, как нормальный Twitter, имеет максимальную длину 140. Это супер-интуитивный, действительно великий язык. Затем у нас есть мнение. Так что это включает в себя HTML и CSS. А вот пример вида. Так Ruby On Rails вид легко интегрирует рубин и HTML для того, чтобы генерировать что мы хотим на этой странице. Так что это пример нашего макета. Таким образом, вы можете увидеть некоторые признаки, которые вы Ребята привыкли, как HTML, тело, все, что хороший материал. И прямо здесь, однако, мы включить некоторые Руби, сказав, если есть сообщение для отображения, затем отобразить сообщение в див. Так что я не получите слишком много в этом. Но это, как правило, Страница, которая получает вынесено on-- и независимо от того, на какой странице вы находитесь на, на этот раз получает вынесено. Так что это, что входит всегда. Круто. Другой пример, это view-- тот, где она выбрала все твиты. И некоторые из этих вещей может выглядеть довольно хорошо знакомы. Так, например, здесь, мы цикл через каждый из твитов, и мы их печати. Так вот, где мы распечатки тело. И если user-- твит здесь это реальный пример не SQL участвует. Я просто спрашиваю, это Пользователь Tweet в текущий пользователь? Затем покажите ссылку, чтобы удалить его. Это супер просто. Контроллер. Таким образом, это, опять же, интерфейс между моделью и представлением. Это тот, который делает тяжелую работу из interacting-- быть посредником. Он загружает информацию смотреть, что мы увидим в секунду. И для того, чтобы взаимодействовать с моделью, ее призывает модели методы, которые, что вы, ребята, знакомы как функции. Так, например, это Контроллер нашей Tweet годов. Это может выглядеть немного сложной прямо сейчас. Но это на самом деле супер интуитивно понятный как только вы начинаете дайвинг в. Так, например, в нашем индексе, это где мы хотим, чтобы показать все твиты. И так эта линия в основном просто просит всех твитов. А потом мы инициализируем как новые tweet-- так как если они хотят создать новый твит на этой странице. И это спрашивает, что текущий пользователь. И это очень похоже на сделать, что вы видели в PSET 7, где это просто какая-то рассказывать view-- это своего рода, как, передавая переменные, которые вы понадобится в целях представления. И есть целая куча различных методов что контроллер твит может справиться. Но на самом деле, Rails делает большую работу по виду деления их в разные действия, которые контроллер может сделать. Есть ли вопросы о любой из частей MVC рельсов? Вид просто бриз. Так что вы, ребята, можете проверить это на свой собственный. Высокий. Мы будем держать собирается. Поэтому установка Rails. Установка Rails может быть, как, один из более сложных частей целых Rails Процесс, к сожалению. Но очевидно, что все нам вокруг, чтобы помочь. И как только это там, много больших ресурсов, как уже упоминалось Гейб, для начала. Вот ссылки, которые Вы должны будете в порядке скачать Rails, чтобы получить его установлен на вашем компьютере. Очевидно, что это доступно как для Windows, и Mac и для CS50 устройства. Вопросы ни о чем мы уже говорили? Аудитория: Я бы интересует, actually-- так что я знаю, что загрузка Программное обеспечение большим препятствием. Если есть достаточный интерес у Скачивая мини сессию или что-то. ZACK CHAUVIN: Мм-хм. Да. Это может быть очень полезно. Если кто-то действительно энтузиазма о использовать это для своего проекта или в будущем, то мы бы, безусловно, рад поговорить с вами об этом. Мм-хм. АУДИТОРИЯ: связанный с этим вопрос к чему я спросил раньше. Для тех из вас, кто сделал другие механизмы, которые до сих пор пытается сделать то же самое вещь, сделать это проще создать веб-сайт или Функциональность, я думаю, какой-то смысл почему мы бы на Rails против Zend или некоторых других структур и языков. ZACK CHAUVIN: Я просто Say My $ 0,02 об этом. Я люблю Ruby On Rails. Я имел возможность работать как в PHP и Ruby On Rails. Я предпочитаю Рубин на Рельсы из Ruby. Определенно, это большая часть этого. Мол, когда вы выборе базы, Вы также можете выбрать нужный язык. Руби супер accessible-- Я думаю, гораздо лучше, чем язык PHP. Но это вид личного предпочтения. Кроме того, еще одно соображение является сообщество за рамки что вы работаете с. Сейчас Рубин на Rails является очень жарко. Там тонны поддержки за ним. Вы что-то на стеке в темах Переполнение о проблеме, которую вы имея в Ruby On Rails, и это ответил. Опять же, это с открытым исходным кодом, что означает, что он постоянно изменяется. Там тонны людей что на самом деле посвящен для того, чтобы сделать это действительно удивительным рамки. Так вот почему я бы выбрать Ruby On Rails. GABRIEL Гимарайнш: Да. Я бы сказал, что идея За многими рамках вы собирается выяснить, есть очень, очень похожи, не так ли? Таким образом, Model View Controller, Дело в том, что наш контроллер годов будет выглядеть как-то как this-- каждой из функций это как на одной из страниц, и перенаправляет вас, и инициализирует переменные. Это будет то же самое для каждый рамки, которые вы видите там. И там будет модель. И вы можете делать такие вещи, как, "принадлежит". Таким образом, вместо того, чтобы делать версию SQL, Вы просто, как, сделать, user.tweets, и вы получите все. Каждый имеет это. За исключением Ruby, вы user.tweets, а затем некоторые основы в PHP, вы user.getalltweets Где мои PHP не проблема. Мол, это большая линия. Это то же самое, но это большая линия. Так что это одна из главных причин, из моих предпочтений с рубином. Это просто я точно То же самое и в других рамках, он просто берет меня в два раза до тех пор, строк кода. ОК? Любые другие вопросы? ZACK CHAUVIN: Что-то Я назову quickly-- Гейб немного поговорили о драгоценных камнях. И это действительно great-- Я имею в виду, это это своего рода общим для всех структур, что-то вроде концепции драгоценных камней, которая, как в моем маленьком например, Я войти в систему. Например, вы можете войти в систему выйти. Мол, на самом деле вид сложного процесса. Было обработано мало немного для вас в PSET 7. Но я все еще не в полной мере знать, как для реализации Вход в, регистрация при отъезде. И это потому, что Рубин на Rails имеет тонн драгоценных камней, которые делают такие вещи, как это для вас. Опять же, соглашение по конфигурации. Все это будет делать этот знак в, войдите отъезда шаг. Так почему бы просто не сделать пакет, который называется Разработать в этом случае, который является жемчужиной. Вы просто его включить. И, наконец, какая-то помощь онлайн с тем, как его использовать. И вам не придется беспокоиться ни о чем подобном. Прикрепление фотографии на эти things-- драгоценный камень для этого. Мол, в любое время вы пытаетесь сделать что-то новое, есть драгоценный камень для этого. И вы вроде просто собрать воедино эти драгоценные камни и построить действительно сложный Приложение очень быстро. Круто. Любые другие вопросы? СТИВЕН TURBAN: Ву-ху. Я не думаю, что [неразборчиво]. GABRIEL Гимарайнш: OK. Большое спасибо, ребята. СТИВЕН TURBAN: Буг до свидания. ZACK CHAUVIN: Буг до свидания. СТИВЕН TURBAN: Ву-ху. [Аплодисменты] Ура.