[Мусиц плаиинг] ГОВОРИ: Супер. Дакле, данас ћу бити говоримо о Руби он Раилс. Дакле, Руби он Раилс је веб оквир. То је у основи начин да се страшан веб апликације, које се пуно вама Вероватно ће бити прави за своје завршне пројекте. Дакле, то је такође кул време, зато што тренутно радите у ПХП за ову тренутном проблему сету. Дакле, надамо се, много њих ствари које говорим о данас ће звонити неке врсте звона, и тамо ћу бити неких наследје између ствари научићете данас, ствари си ради на проблему сетовима. U redu. Па, шта је на дневном реду? Прво ћемо ићи више од преглед МВЦ Модел-Виев-Цонтроллер. Надам се, да сте научили о томе неки у предавању, али то ће бити преглед тога. Онда ћемо да причамо мало о Раилс, која постоји бескрајан број од ствари које сам могао да причам о томе. Тако ћемо ићи преко неке од Основни, оно што је на тавана, шта она ради. И мало о Руби 2, јер Руби он Раилс је, није изненађујуће, изграђен у језик зове "Руби". Срећом, Руби је много више интуитивно од многих језика сте радили у. Тако Надам се да ће бити прилично лако да покупи. И на крају, ми ћемо провести Време иде преко основни веб апп, и копање на неким кодом тамо. Дакле, ово је званични водич за МВЦ. То је оно што ћете наћи о Студији 50 и предавања. И ДСЦ, очигледно, има три дела. Дакле, ту је модел, упорна складиштење, управљање и организовање података. Можете мислити о томе као свог МиСКЛ база података у тренутној проблема сету, свака датотека са подацима имате. Ту је поглед, који је презентација информација, корисник интерфејс, а можете мислити о овоме као ХТМЛ странице и било од шаблона странице које вас градећи на овај проблем сету. И контролер, који рукује свим информацијама, врста пролази информација између базе података и поглед. И можете мислити о њима као тренутним ПХП фајлова у програмима које ћете писање за Проблем Сет 7. Зато ћу да улазим у незванични водич, који је инспирисан, заправо, од прошлогодишње Руби он Раилс семинару. Стварно ми се свидело како су некако размишљао о Модел-Виев-контролер. Дакле, идемо сада, у незванична водич. Дакле, имамо неколико знакова У незваничном водичу. Ту је наш "модел", Медлин, која је веома, веома паметан, воли податке, зна све о подацима, али она је мало асоцијално, а она не обично интеракцију много са људима, осим ако она је рекла да то учини. Даље, ту је наша "поглед" Вики, која је предивна. Она је апсолутно предивно, али она није толико паметан. И на крају ту је наша "контролер." Надамо се да све ваше контролори ће бити мање зао од овог контролера овде, али ово је наш зла краљица, Кејтлин, ко заиста воли људе наредиле око, али не баш као раде ствари сама. Па, почнимо са аналогијом. Рецимо сви наши ликови раде на ЦВС. Постоје два сценарија можемо мислити о томе. Из неког разлога, ја имам сценарио 2, Сценарио 1, али то је све у реду, Почећемо са Сценарио 2. Тако, рецимо купац долази до ЦВС и Вики ради у напред. Она је касирка. Дакле, купац пита Вики за комад слаткиша. Знаш како, у ЦВС увек постоји да бомбоне постројили у првом реду. Дакле, клијент тражи ту слаткише. Šta se dešava? Па, Вики не знам ста да раде, тако да се окрене и пита Кејтлин. "Кејтлин, шта да радим? Овај купац само тражио бомбоне. " Кејтлин, наш веома контрола менаџер каже: "Па, бомбоне је тамо, Вики, само дај њима. И тако Вики каже: "Ох, у реду, добро," Схе руке слаткише назад до купца. То је нека врста нашег првог сценарија. Дакле, у овом случају, нисмо чак и са својим моделом посла Ово је само, рецимо, корисник је и кликнули на линк на својој веб страници. Поглед је глуп. То заправо не знам шта да радим, тако да мора да иде у контролер. Има да питам: "Шта да радим урадити са том информацијом? " Контролер затим руке назад на одговарајућу страну, и поглед може да прикаже. Сада имамо мало сценариј, или наша сценарио 1, у овом случају, где купац пита Вики, благајник, за шољицу који је седео у леђа, негде у складишту. Сада, опет, Вики каже, "О, боже. Немам појма шта да радим. " Окреће се Цаитлин је менаџер, каже она, "Кејтлин, Немам појма шта да радим. Тражили су шољу овај пут, шта да радим? " Кејтлин каже: "У реду, држи се." Она се окрене, виче у Маделине, наш модел, она каже, "Медлин, иди добити рез од позади. " Мадлен каже: "У реду, у реду." Медлин иде, она зна тачно тамо где су чаше су, зграби чашу она руке назад на цаитлин, наш менаџер. Менаџер је руке назад у Вицки. Вики сада коначно може представити пехар кориснику, односно купца. Дакле, у овом случају, то је мало компликованије. Имали смо још пар делова, али у основи идеја је прилично слична. Нешто дешава на предњем крају. Корисник, купац пита нешто. Поглед не знам шта да радим, она мора да иде са контролером. Контролор говори поглед да ли само да предају известан количина података до корисника, или да одемо неке податке из назад, предајте га назад у мишљењу, и поглед може представити кориснику. Дакле, мислим да је корисно начин размишљања о МВЦ. Сада када имамо тог оквира у ум, хајде да причамо мало о Руби он Раилс. Сама Руби, Руби језик, има много мање синтакса од ПХП или Ц, и ствари које сам радио. Видећете има доста мање зарезом много мање цурли протеза, што чини то је много лепше радити. Она чита много више личи енглеском језику. Такође, Руби има неке веома забавно карактеристике зову драгуље, којима можете размишљају о нешто као библиотека у Ц, или ствари које укључују са хасх горе на врху ваше датотеке. Дакле, постоје Руби драгуља за само о свему. То је супер добро документовано језика, и има много људи који раде на томе. Дакле, ако размишљате о спровођењу неке цоол функције, пробајте мало гугујеш, и ту ће вероватно бити библиотека за то да има неке пре-буилт-ин функције које чине све што желите да урадите много лакше. И причаћемо мало мало о неким то ти могу користити за побољшање веб апликација која смо ће говорити о мало касније. U redu. Руби он Раилс, рекао сам, је оквир. Шта је оквир? Оквир је, у суштини, само подразумевани структура. То вам даје скуп фајлова и скуп поступака за управљање подацима, управљање ваши погледи, и само општа структура вашег програма. Тако база података, веб Сервис, веб страница је некако од поставља велики комад вашег пројекта за вас, и онда можете да одете у и некако променим ствари које желите. Дакле, то доводи до љубазну Други велики стуб Раилс, што је конвенција над конфигурацији. Дакле, Руби он Раилс, програмери у заједница око Руби он Раилс, Вредности конвенција над конфигурацији. А шта то значи, постоји су стандардне процедуре и начини да ради ствари у Шине који су генерално прихваћен као начин треба, или коју је најлакше начин да иде око радиш ствари. И можете видети да, када ћемо заправо почетак стварања наше апликације, Као што сам рекао, постоји гомила датотеке које су већ изграђени за вас. И ово је врста Конвенција ствар. То га чини много лакше да се крећемо апликацију и пронаћи начине раде ствари, ако постоји сет структура, скуп процедуре које обично прате. То је рекао да постоји много Конфигурација можете да урадите у Раилс. Има много персонализације, А Много биг-- Твиттер је изграђен у Раилс. Постоји гомила другог велике компаније које користе Раилс, тако да је ово не значи да тавана Не могу да урадим шта год хоћеш да уради, то је само да, генерално, постоји низ процедура која чини много лакше ако га пратите. Ту је стварно добар тавана документација. Ја ћу вам указати на неколико других корисних Извори касније у презентацији, али ово је само линк до званични Руби он Раилс документацију. Дефинитивно да проверим да ли сте мисли на рад у Раилс. U redu. Мало о Руби. Ми ћемо обратити разлике између Руби и језика сте радили у више кад стигнемо у примерима кода, али то је само нека врста кул ствар која Руби ради, која се кроз итератинг Бројеви и низ. Дакле, ако се сећате, у Ц, оно што треба да урадите је, морате да подесите за петље, и морате да поновити путем вашег низ приступом сваком елементу. Дакле, имате низ [0], или низ [1], или низ [2]. У Руби, они су збринути за много тога за вас. Дакле, за фор петљу, ви можете да користите .Еацх. Дакле, ако имам низ бројева, и има пет бројева у њему, и ја желим да идем кроз сваки број и одштампајте га, могу само да кажем, нумберс.еацх уради број, који звучи помало загонетан на први поглед, али у основи, то је оно што ради се то каже, Имам низ бројева, Желим да сваки од њих, и уместо да каже Бројеви [0], Бројеви [1], ја само могу да кажем број. И то ће ићи кроз сваку годину и позива је "број" као што пролази кроз њу. Дакле, ја само могу да кажем, ставља број, и први пут путем, то ће ставља број, који је један. Други пут кроз, то ће ставља број, који је два. Трећи пут кроз, и тако даље. Дакле, ово је само прилично заједничка изградња у Руби, па сам мислила да показати да вас, тако да није велика ако га пронађете. А последња разлика је, на крај уместо заграда, кажемо, у реду, ми смо урадили са нашим петље за, рецимо крај. И ми говориш ОУР програм који, у реду, ми смо урадио са овим комад кода. Дакле, само мало изложености различите врсте синтаксе у Руби. Dobro. Ми ћемо сада само диве право у пример, и провести наредних 40 минута некако од копања у њега, пролази кроз њега, објашњавајући ствари. Ако ви сте овде због семинара, Да ли желите да се помери у кауча? Кул, супер. И слободно ме заустави на било укаже ако имате питања. Подигните руку, шта год, само да викне. ОК или заправо, идемо овамо. Дакле, ја сам ставио линк на све кода које сам писан за овај пример на Сајт се зове ГитХуб, која ако нисте били да ГитХуб пре, то је у основи само место где можете да сачувате пуно кода, и интеракцију са њом. Има пуно одличних функција, али за сада када је све што је заиста потребно. Дакле, постоје две ствари да у основи можеш--, две опције за рад са овим вас цоде-- можете посетити гитхуб.цом, и за њиховим упутствима да ћете видети како да прате заједно и изградити своју апликацију, то је исто као апликација у примеру кода, или заправо можете преузимање свих кодекса а постоје и примери како да се само покрените га право искључити шишмиш ако желите. Извињавам, упутства о томе како то само води право искључити шишмиш, ако желите експериментисати и некако о види шта ради на своју руку. Ми ћемо се свира около са тим неким данас. Дакле, да би се само добити копију свих кода који је у овом ризници, све што треба да урадите је да куцате ово линија у своју командној линији, и ови слајдови ће бити доступна после, тако да нема бриге тамо. Дакле, можете једноставно копирати ово линија у своју командну линију. То ће направити нови фолдер са сав примера кода, или можете га преузети са сајта јер ће бити са сајта ЦС50 јер ће бити горе тамо после превише. У реду, хајде да погледамо неки код. Dobro. Дакле, ово је оно што ГитХуб Линк изгледа. Ако сте отишли ​​на први линк који је био само на слајду само приказују. Дакле, говори о апликација, шта је у њему, и онда шта је четири друга врста фолдера које ћете наћи у апликацији. Дакле, хајде да погледамо прва фасцикла у апликацији. Дакле, то-до листи, почев од. У суштини, шта ова апликација ће да урадите јесте, то је прилично једноставан, само ће направити листу обавеза. И на то-до листи, моћи ћете да додате ставке, моћи ћете да избришете ставке, ти ћеш моћи да видите појединачне ставке, мењати ствари, и види све од ставки у вашој листи. Дакле, прилично једноставан функционалност, али то је оно што Раилс је најбоље у. Па, тавана је добар на много ствари, али ово је нека врста темеља шина, и када вас знају како да некако урадите следеће четири акције: креирате, читају, измени и уништи, некако је од-- сам увек наћи "уништити" стварно насилни реч. Не знам зашто су управо користе "делете", али у сваком случају, Конвенција значи да "уништи", па смо ће уништити предмете. Али када можете да урадите ове четири ствари, у основи, свет је отворен за вас у веб развоју, а тако да би требало да буде корисна пример. U redu. Дакле, у ствари, прво, ја ћу показати вам шта је ово, у пракси, оно то-до листа ће да уради. И, ја ћу објаснити. Дакле, ако одемо, ја увек заборави тачан синтаксу за покретање Раилс сервер, али зато сам то записао. U redu. Дакле, ово је само покретање сервера. Момци су сви раде нешто слично на проблем поставе, не ово тачна синтакса. Идемо у њу мало касније. Ок, ово је оно што коначна апликација ће да уради. Ми ћемо се поздравио са нашим сајт, можемо посматрати нашу листу обавеза. Сада, то је празна, тако да можемо додати ставку. Рецимо, "Иди у ЦС50 семинара данас." Саве ставку. У реду, тако да сада видимо управо оно што сам написао. Ima smisla. И онда, можемо га мењати ако желимо, или бисмо могли да се вратимо на до лист, а сада видимо ставку је, "Иди у ЦС50 данас." Или је, да се направи мало јасније, ми може додати малу паузу овде, "Иди да ЦС50 семинар "текст је и данас. Такође можете да избришете ову ставку, и сада нам то-до листа је празна. Дакле, опет, прилично једноставан. Постоје неки, нисам сигуран да ли ово године било је семинар на боотстрап, али ако желите да се Ваш сајт лепа, можете користити ствари као што су ХТМЛ, ЦСС, и Бутстрап. Дефинитивно видели ове семинаре ако сте заинтересовани да Преттиер апликације, али радимо на функционалност данас. У реду, хајде да почнемо. Дакле, ако идете да, опет од Ову страницу на ГитХуб, Могло би се рећи "листа почевши од ", и то ће вас провести кроз само на основама подешавање оквира у Раилс, покретање сервер, и добијање нешто за приказ на екрану. Дакле, ово је само основна подешавања. Дакле, правимо нови Раилс Пројекат је веома лако. Све што треба да урадите, јер то је пре-инсталиран на ИДЕ, је тип "Раилс ново" и Онда твоје име пројекта. И то ће генерисати гомила фолдера. Као што можете видети, ако одем да тодо_лист_стартинг_оут, имамо, може бити некако огромна, јер то је само тона ствари које само појављује. Срећом, не морате да баве превише о томе. Посебно, када почињу избаци изградњу основне веб апликације. Главни директоријум бићеш бави се ова апликација фасцикла. И можете да видите у овој апликацији фасцикла, имамо пар ствари који већ изгледа познато. Дакле, имамо моделе, прегледа, и контролора. Тако можете да погодите где је другачије код за моделе, прегледи и контролора су отићи, а вероватно ће бити у одговарајуће мапе. Дакле, прва ствар коју желите да урадите, је у основи, Ми само желимо да направимо нешто На екрану се појављују. У овом делу, ми само желимо да велцоме неко дође на нашој почетној страници, јуст саи хелло. Дакле, начин на који је то урадио, можете генерише контролер заиста лако у Раилс. Сада, ми не имате контролере. Или, ако сте управо сада оволико, нећете имати никакве контролера. Ако одете у свој фасцикла контролери, све она ће имати је ова апликација контролер, који је управо ти, можете да урадите неке базу конфигурацију у вашем контролер апликације, али то неће рећи Ваш апликација шта да радим ако неко кликне на одређени веб страници. Дакле, начин на који вас сет да се, постоји је линија можете покренути у Раилс, што у основи, само каже, генерише контролер. Направите ми датотеку која се догађа да помогне ја обавља функције које сам треба на овом сајту. И у овом конкретном једном, снимамо добродошлице контролер, јер све то урадити је добродошла корисника на страници. И тако, ви генерално желите да име вашег контролер нешто што има смисла за функционалност да ће обављати, и унутар тог добродошлице контролер, желимо да имамо индексни акцију. Сада, ако се сећате из ваш сервер проблем сет, један ствари које сте морали да урадите, је провера да видим да ли корисник отишао на почетну страницу без, па ако они само отишао у директоријум, сте морали да проверите индек.хтмл или индек.пхп. То је зато што, по конвенција, "хоме странице" се зову "индекс" у веб развоју. Дакле, можете да замислите индек.анитхинг, стварно као почетну страницу. Тако ћемо рећи, желимо да може за обраду захтјева на овој почетној страници. И желимо да имамо акцију у оквиру наш контролер који да се позабавимо. Дакле, шта то личи. Па, кад наиђете ово линија кода, ти си ће добити добродошлице контролер. И, у том велцоме контролер, она дефинише индекс метод. И то је све што ради. Само каже да постоји. А то је зато што ми не стварно потребна никаква фенси функционалности када људи желе да иду у нашој почетној страници, Ми желимо да им покажемо страницу. Дакле, само треба да кажем нашу контролер, "У реду, ова акција постоји. Ова страница постоји. Не излуде кад стигну и да нам покажете овај индекс страна ", што је све лепо и добро, осим што ми нису направили још један индекс странице. Тако да иде на следећи ствар коју морамо да урадимо, који је након што подесите контролер у кораку 3, мораш да одеш на погледе, јер, иако сте Рекла си оно апликацију да радим када оду у индексу страна, нисте направили индек паге. Сви нашим ставовима, као и Што сам раније рекао, иду да се чувају у овом фолдеру виевс. И, као што можете да видите, већ добродошлице фолдер. То је генерисана када смо генерише нашу контролер. То претпоставља Вероватно си хтети да покаже људи пати са разним стварима желите да урадите у овом контролер. Дакле, идемо да направимо фолдер за ви који се односе на овај контролер да сте направили. И то ће се звати "велцоме" јер ти је контролер зове добродошли. Можете ставити у било које странице хоћеш овде. Дакле, као што сам рекао, желимо индексну страницу. Желимо почетну страницу. Дакле, можемо створити овај индекс страници. То неће бити овде првобитно када се први пут ово писем, тако да ћете морати да га направи. И желите да буде зове индек.хтмл.ерб јер је то врста шинама начин говорећи, ово је тавана поглед страна. Дакле, уместо да само индек.хтмл, Конвенција је индек.хтмл.ерб. И, можете ставити шта год желите на овој почетној страници. Сада, све што сам рекао је "Здраво." То значи, шта се дешава, хајде да видимо у акцији. Хајде да престанемо нашег сервера из наше коначна то-до листа, идите на покретању од до-до листи, и почети поново сервер. Mogu biti. Hajde da vidimo. Idemo. Dobro. Дакле, сада наш сервер би требало да буде покренут, и то ће нам се служе овом основном, тек почињу страну. Дакле, када смо посетити дом страна запамтите, ве'ве-- Ох, извините. Постоји још једна важна област која вас треба да подесите када сте почевши своју Раилс апликацију. Дакле, ми смо рекао је контролеру шта да очекујете кад смо се прошли ову информацију. Али, нисмо заправо подесио Путеви нашој веб апп иет. Значи, морамо да направимо да ли је контролер добија донела праву информацију у правом тренутку. Па, како наш веб апликација знају да када идемо на почетну страницу, треба рећи добродошлице контролер бити у реду са индекса странице, а затим покренути индек паге? Сада, ако смо ишли у наш дом страна, наша апликација не знам да би требало да разговарају у поздравном контролер на све. Дакле, последња ствар, врста важној области да мењате кад постављања до једне апликације је правци. И то је у цонфиг, роутес.рб. Дакле, ја имам да у праву у својим правцима на овој страници Први кораци, па ако ви после заједно са тим, које треба лако откривени. Дакле, једна ствар ми имамо да уради, је да морам да кажем, када сте први пут стигну на овој страници, ова линија ће бити коментарисан се, јер има пуно коментара. Опет, ово је само део Шине када се ствара, ставља гомилу ствари овде. То је све ово коментарисао напоље, јер вероватно не треба оригинално, али то је врста ствари које многи људи обично користе. Дакле, можете да избришете све ово ако желите, али ћете наћи неке ствари које можда Желим да откоментирате на различитим местима, само зато што имају тенденцију да буду корисни. Дакле, то је нешто што Шине само поставља за вас. Дакле, ово ће бити линију која је коментарисао, али можете откоментирати. И, шта је ово линија каже да је, све Добро, ако корисник иде у корену, Иде у нашу почетну страницу, желимо да активира индекс велцоме контролери метход. И тако је то све везе заједно. Корисник се на почетну страницу. У путева, ви га подесите тако да ће покренути добродошлице контролер, који ће ићи да дочека контролер, који ће онда рећи, у реду. Индекс, желим да позовем индек.хтмл.ерб и ми ту леђа корисника. Изгледа некако компликовано, али ћете почињу да виде неку врсту обрасца, морамо да урадимо нешто са путева, ми нешто да урадимо са контролером, морамо да урадимо нешто са видом. И касније, ми ћемо додати, У реду, кад имамо све наше путеве, прегледа, контролор, модел контролер, прегледа, контролор, модел контролер, виевс. Дакле, то је нека врста образац ћете почети да види. ПУБЛИКА 1: Могу ли да поставим једно питање? ГОВОРИ: Да, само напред. ПУБЛИКА 1: Два. Један је да сам приметио вас рестартује сервер, после тебе стави у индексу ствар. Да ли то значи сваки пут када промените неки код, треба да га поново? ГОВОРИ: Па, то, често пута, поготово ако ти си само врста промене око ставове, треба само да освежите страницу. Понекад, ако се нека велика промена, мораћете да поново покренете сервер. Генерално, ако нешто није појавио да мислите треба само поново покрените сервер и често ће доћи до. ПУБЛИКА 1: Дакле, само рестарт. ГОВОРИ: Да, обично, да. У основи, обично, само сам поново покрените сервер ако налетим на неку врсту питања. ПУБЛИКА 1: А, мој други Питање је, чини се, као што сте рекли, Изгледа прилично замршена Процес да поправите свој индекс странице. Сада, претпостављам да има много ствари што га чини моћан и свестран, али ја нисам видео још тај део. Хоћете ли објаснити мало? ПУБЛИКА 2: Само напред и Понављам своје питање. ГОВОРИ: Ох, извините. Дакле, прво питање је било, Ја рестартује сервер, и зашто сам то урадио у том тренутку? Специфични разлог за то један је зато што сам заправо био мења фолдере, па сам морао да поново је за правилну апликацију. Али обично, потребно је само да поново сервер ако направите велике промене. Друго питање је, ова Чини заиста компликовано. Зашто је то тако компликовано направити само једна веб страница се појавити и где је снага Раилс? Дакле, у основи, снага Шине ће доћи у једном од наредних ствари сам Показаћу вам, у основи. Дакле, иако то изгледа компликовано, а посебно у односу на свој проблем Сетови, то је у ствари много замршена у готово било ком другом оквиру. ЦС50 је врста збринута за много ове задњем крају за вас, кад сам генерише код за ваш ЦС50 финансија. Дакле, много тога је управо отишао под је аспиратор у ономе што радите у, јер су ти момци хтели да фокусирају на Модел-Виев-контролера, само оне аспекте, јер је је основа веб развоја. И то је заиста важно да разумете те ствари и како се уклапа. Међутим, има доста ствари испод хаубе који је да оде пре него што можете чак и дођете до Модел-Виев-контролер. Дакле, то је некако оно ви видите овде. И заиста, ако погледате корак-по-корак на правцима, то је заправо само је око четири корака. Морате да генерише оквир, па само укуцајте "шине ново." Морате да генерише контролер, морате да генерисати индекс, и онда морате да направите пут. Дакле, то је заиста само четири уређивање датотеке. И много подешавали је учинио за вас. Тако да се чини више компликовано, јер је требало много више време, јер сам покушао да објасним разни кораци и зашто се дешавају. Дакле, ако мислите о томе само тих четири корака, чини мање компликовано. Такође, оно што ћу да ти покажем, је некако део од разлога зашто људи лове Раилс толико. Океј, хајде да прво видимо ову страницу да смо радили тако тешко да се створи. "Zdravo!" У реду, веома ундервхелминг. У реду, хајде да наставимо. Дакле, након другог дијела, након то-до листа почетку, је Листа обавеза са ставкама. Дакле, ако иде То-До листе, вероватно треба неке ставке у листу обавеза. Дакле, прва ствар коју треба да урадите, или један од првих ствари да ураде је да се низ праваца, јер ти си вероватно хтети страницу где можете направити нове ставке. Вероватно ће желети да страницу где можете видети појединачне ставке. Вероватно ћеш желети страница на којој можете да измените ставке, и онда очигледно, брисање је, можда нећете желети страницу за то, али ти хтети да би могли да кликнете на нешто за брисање ставки, и да та информација доступна. Дакле, ово је стварно корисно Оно што тавана ради. Дакле, ако идемо у следећи фолдер који је са ставкама, можемо видети у нашим путевима Опет. Цонфиг, путеви. Додали смо нешто ново. Дакле, пре него смо само унцомментед ово корен добродошли индекса. И то је опет кажем, ако одете на почетну страницу, идите на добродошлице контролер, идите на индекс страници. Сада имамо ову три додатне линије. Они изгледају мало загонетан. То је нека врста нејасно шта они раде. Али, у основи, ово је стварајући Раилс ресурс. И ресурс је само скуп упутстава и процедура односу са једним посебним, Жао ми је, да преформулишем ово. Ресурс је скуп поступака се односи на неке конструкт да ћете желите да имате. Дакле, у нашем случају, то је ставки. Желимо да имамо предмете; želimo да радим гомилу ствари за њих. И шта овај пар линија ради, да ли је то каже, желимо да будемо у стању да има гомилу стаза да можемо да урадимо другачије ствари са наших артикала. И то ствара све те путеве за нас. Дакле, један од начина доказивања да је, ако идемо - хајде да престанемо наш сервер тако да могу користите терминал-- раке путеве. Оно што ова команда ради, је да, још сам у почетку. Али ово је, можемо почни са овим заправо. Дакле, као што видите, ово нам је показао да имамо, можемо да пређемо на нашој почетној страници, и да ће покренути велцоме контролери индекс метода, али можемо ићи у Добродошли / индек, и да ће учинити исту ствар. Дакле, ово је два различита руте које можете да откуцате у, како би се на исти почетну страницу. Дакле, ово нам показује све доступне руте у нашем Стартинг Оут апп. Сада, ако идемо у нашу нову апликацију која има ставке у њој, тако тодо_лист_витх_итемс. И онда покренути раке руте поново. Дакле, да нам покаже све доступне пут до корисника можете уписати у. Сада, имамо гомилу више. И све што смо урадили је додао ти пар линија у нашим путевима, али сада можемо да сласх ставке из наше корена, па да видимо индек паге Ставке контролер. Или ћемо покренути индекс Акција у контролеру ставки. Имамо "нови," имамо "Едит" имамо "делете". Дакле, ово је створио гомила доступних путева. Сада смо направили наше не Индекс контролер ипак, па нисмо заправо направио ниједну важи, нисмо направили ове акције важећа. Али сада немамо да додате разликује линија у нашем руте контролер за сваки појединачни један од њих радње, не у нашој руте контролера, у нашем фајлу руте. Дакле, систем генерише то аутоматски за вас. Све што треба да урадите је да уређивати своје руте у РБ. Већ смо видели један од предности Раилс. То се све ово за нас. А сада, сви морамо да раде, као што смо раније, се мењати нашу контролер тако да можемо хандле све ове различитих путања да корисник може да жели да узме, и мењати наше ставове, тако да имамо фајлове да контролор може назвати. Dobro. Идемо да, желимо да измените нашу контролер. Jel tako. То је управо оно што сам рекао. Или направити контролер. Дакле, видећете сада, имам нови контролер под називом "ставке контролер." И генерисан да веома слично начину на који да сам генератед он претходна контролер. Дакле, ако идете кроз инструкције У другом делу, са ставкама, видећете да након што измените руте, направите нови контролер. А, ако се сећате синтаксу из претходног примера, сјајно. Ако не, у реду. Бин / шине генерише контролер ставке. Ово је мало другачији, јер нисмо рекли индекса одмах након, јер ми само желимо да генерише празну контролер, јер ћемо радити пуно Конфигурација оквиру овог контролера. Дакле, нисмо желели да унапред индекса методе у томе само на старту, али то је прилично мала разлика. У суштини, потпуно је исто. Снимамо контролер тако да можемо руковање све захтеве да се баве ставкама, и да ће направити датотеку у наши погледи да се бави контролера, или да се баве предметима. Могу ли да добијем мерило? Како су људи раде? То је много информација. Да ли је уопште има смисла? Да ли постоје ствари које су само апсолутно превише збуњујуће да би требало да одем? Сврха нешто? Добро? Dobro. U redu. Идемо онда. U redu. Ми смо направили ставке контролер. Желимо да се бави предметима. Шта желимо да урадимо са нашим предметима? Па, ми желимо да будемо могућности да нове ставке, и желе да буду у стању да створи ствари. Чини врста слично. Kakva je razlika? Па, има пар другачији начини на које можете Цханнел Информатион у контролер. Један је пробити захтеви, тако да кроз адресама. И већ смо видели да. Отишли ​​смо да поздравимо / индек, имамо наш добродошли контролери индекс страна. То је информација каналисати контролер путем захтева ГЕТ. Такође ПОСТ захтева, ипак. И то је ако поднесе облик онлине има даље информације које шаљу назад и даље са контролером, али не мора проћи кроз УРЛ. Дакле, постоји неколико другачији ствари које можемо да урадимо са овим ставкама. Морамо да идемо страницу где можемо тип у информацији коју желимо за нова ставка у нашој листу обавеза, али такође треба да буду у стању да обради, када смо кликните Ентер, шта се дешава са овим Информације које смо уписали у. Дакле, то је нека врста опште Сврха "нове" и "стварају" "Нова" тежи да буде страница које ћете посетити. То је информацију да буде усвојен са контролером преко УРЛ-а. Дакле, када одете у / нов, ваши путеви су подесите за руковање као информације које који ће се прослеђује контролор ставке, а онда ћеш ти донети страницу који показује облик који корисник може укуцајте информације. Али ту је и "стварају". Дакле, када куцате у вашој информације и притисните Пошаљи, створити има тенденцију да буде акција која ће заправо Таке Тхат информације које сте ушли, и урадите нешто са њим. Дакле, то је разлика између оних два који може бити првобитно збуњујуће. Дакле, све то наше створити метод има сада, је рендер, авион, парамс, тачка, инспекцију. Све то значи, јесте да информације сте се односи на ставке, ова ставка да откуца информације за, и ми ћемо показати вам како да ради у тренутак, и да се то покаже на мене. Дакле, након куцате у информације о овој новој страници покажи ми шта сте унели у на следећој страни. И, можемо видети да у акцији. Дозволите ми да затворим неке од ових тако да добија мање претрпано. Idemo. Ох, ми смо у са ставкама. Почнимо нашем серверу. U redu. Управо сам отишао у итемс / нове. То је причање, због начин поставили своје руте у цонфиг, овај пут је подешен да дају Информације са контролером ставки. А посебно је нова акција у оквиру контролера ставки. Дакле, ако се сећате све то рекао да је "Деф нови крај." Дакле, то је само да покушати да пронађу нев.хтмл.ерб, ХТМЛ страница која се односи на акција која ми тражимо. А ја ћу вам показати ту страну за тренутак. Али, као што можете видети само каже да је образац, у основи. То је оно што та страница ради. Можемо укуцајте још једну ствар. Дакле, "нова тачка" и "данас је поново." Идемо да га сачувате, и видимо све наше акције не стварају је одштампајте га на екран сада. На крају, у наредном одељку, ћемо ставити у базу података, али за сада, можемо видети да смо могли да ту информацију и руковање га. И тако опет, то је још увек врста ундервхелминг, али барем сада можемо некако од почнемо да се бавимо са подацима. Дакле, шта наша нова страница изгледа? Шта ХТМЛ изгледају као на тој страници? Па опет, некако Очекујем да то буде у ставовима, јер има посла са информацијама које заправо бива приказана на екрану. А када смо генерисан наш ставке контролер, да је згодан фолдер за нас у ставовима који се односи на ставке, и ја направио ову страницу нев.хтмл.ерб. Дакле, ово је још један разлог Шине зашто је страва. То је стварно лако да поднесу и преноса података које се баве ресурсима да сте направили у рутама. Дакле, све што треба да урадимо, у Да би рећи да је ово апликацију је информација о нашем до-до ставке лист, је рекао форм_фор: ставке. To je to. А онда, само смо говорили је оно УРЛ адреса да усмере да после смо завршили подношења облик, и то је итемс_патх. И можемо да погледамо шта који је у секунду. Али за сада, хајде да излазе на форму. Дакле, ако се сећате из времена када сам је говорио о Руби за петље, било је арраи.еацх уради број, а затим, сваки пут смо ишли кроз петљу, јесте нешто, или штампане од наредног броја на листи. Ово је слично синтакса ради нешто мало другачије. То је рекао, у суштини, све што говори се, желим да се односи овај формулар, то даје, зар не. Дозволите ми да преформулишем. То је у вези ставке форму, тако те ствари видимо да овом облику, да смо направили за ставку. Дакле, то је само начин врсте везивања све заједно. Ја не идем у то превише детаља. Али, у основи, оно што смо врши се говоримо, За овај облик који смо направили за ово ставка, желимо да имамо наслов поље, и етикета ће бити "наслов" и то ће бити текст поље. И то, све што ова синтакса је ради, је врста генерисање ХТМЛ. Видећете не изгледа као ХТМЛ, углавном због тога што ових мало чудно симбола на било ком крају текста. И шта то говори, ми ће желети Руби код, или ћемо желети ХТМЛ на крају, али желимо да користите неки Руби да се оствари тај ХТМЛ. И то је само лепљење Руби код у ХТМЛ. Дакле, видимо да је ово јасно ХТМЛ Х1 нова ставка у близини Х1. То изгледа познато. То је ствар што смо видели у предавању. Можемо видети те п-тагове који Такође изгледају прилично познато, али сама форма, ХТМЛ углавном генерише Руби код да си заглавио тамо. И можете да видите, уствари зашто не урадимо ово. Мислим да можемо да урадимо ово. То може бити мала. Да, ово је вероватно премали, али шта можете да урадите сами, је можете прегледати ХТМЛ странице десним кликом миша, а затим изабрати ставку Проверите елемент. И можете видети стварна ХТМЛ који нам Руби код изграђен. И видећете да постоји образац таг, налази се етикета таг, постоји гомила, а поље ознака текста, и тако видећете резултата ове ХТМЛ који смо креирали коришћењем Руби, која је некако цоол. Добро, и ја верујем да је то је, за само прави нову ставку и приказује на екрану. Сва питања сада, пре него смо добили у нашем последњем комаду, која се бави базама података? Ne? Ок, цоол. И као што сте поново видели, уствари стварно само је неколико корака. Било је потребно стварање контролер, додајући "новог" и "стварају" акцију, тако да је контролер могао поступање по захтевима за ставке / нова и тако да контролер могао носити са информацијама која је дошла након доставе од ови подаци се односе на нашу ставке. А онда, чинећи форму. Дакле, прилично једноставно, заправо, иако Опет, чини се као пуно корака. ПУБЛИКА 1: Већ јеси створи модел за ставке? Говорници: Но, па смо не још увек модел. Сада, све што имамо је ово Шине изградити, ресурс, то стварно може да било који облик. Дакле, оно што смо о да урадите је направити модел, тако да можемо ставити овај ресурс, ставка, у базу података са одређеном структуром. Дакле, начин на који ствара модели раде у Раилс, пусти ме да следећи, Дакле, то-до Листа са МВЦ погледајте Део 3 од 3. Дакле, начин на који сте направили модел у Раилс је, опет прилично лако, то је нека врста једне линије ствар. Кажете "шине генеришу модел" сличне "шине генеришу контролер." Ви то име дао. Ми ћемо га зову "тачка". И опет, по обичају вас, Обично искористе и не плурализујмо имена модела. Можете их позвати кад год Желим, али само по конвенцији, и тако чини ваш код више читљив од стране других, углавном ово је конвенција. И онда, ти реци, У суштини, колоне желиш у својој бази података за овај дати модел. Дакле, говоримо, желимо наслов колона, и то је ће држати конце, која не изненађујуће, је сличан стринга тип података које сте радили са да ЦС50 библиотека реализује. То је само скуп знакова. И ми ћемо имати колону белешке. Дакле, ми смо некако ставки и онда наводи о тим предметима. А то је само ће бити гомила текста, толико слична стринг, али само вам даје више простора. Дакле, можете мислити о томе као успостављање структуру базе података. Ово није стварно направио још сто. Све ово ради је да каже, ја сам ће направити фајл који је ће у суштини бити у стању може направити базу података једном када врста потврдите да је све у реду. Дакле, ако имате ово, чини фајл са заиста дугом именом. То ће бити у бази података фолдер у фолдеру мигрирају, и да ће морати гомила бројева, и онда кажу да је ово цреате-- штампарска грешка, требало би да буде итемс-- али, то ће изгледати ovako nešto. То је формат који то ће изгледати. Дакле, то је гомила бројева, и онда стварају, а затим год да се зовеш модел. И ако идемо ка тој датотеци, неће бити у овоме, биће у МВЦ једном. Ако одемо у тај фајл, мигрирају, можемо видјети да овај фајл је сада подешен да створе сто са колоном стринг зове "наслов" и текст колумна под називом "ноте". Дакле, сви смо поставили да нашу базу података. Ми још нисмо, али смо поставили да то уради. А онда, како да га направи, срећом, ово је све припремљено за вас на Тхе Идес, али у основи, Раилс по дефаулту користи базу података под називом СКЛите. Често, када притиснете на вам режим производња ћу желите да пређете на различитим базама података, али због овог финалног пројекта, и искрено, за мале веб апликације у опште, СКЛите је у реду. И она има реч СКЛ у је, тако, није изненађујуће, да је врста сличан МиСКЛ базе података коју користите. То је нека врста упаљача верзију. Још једна љепота Руби је да не стварно морају да се носе са било којим СКЛ начин. Руби се бави свима. Мислим да сте видели ово тачка "Инсерт Табле на" и имате гомилу дугих СКЛ команде. Руби то ради за вас који је невероватно. Или је, не Руби. Шине чини да је за ти, што је феноменално. Дакле, не морате да се баве било СКЛ када имате посла са Руби. Дакле, имамо ову слику, која не треба да мењате, јер смо то већ подесили када ми смо рекли "шине генерише контролер" и да смо му дали врсте. А сада, можемо створити ову базу података. А начин на који ви то, јесте покренете команду "раке дб: мигрирају." И то каже, заправо чине овај сто, са овим стубовима, ово подесили, да могу Сада убаците податке у. У овом тренутку, ви сте направио табелу, а то је спремни да се упит на било који начин желите. Дакле, није изненађујуће, имамо базу података, али ми не стварно знам шта да радим са њим. Где мислиш да идемо? Који од нашег МВЦ нам каже шта ћемо да радимо са информацијама? ПУБЛИКА 1: контролери? Спеакер: Контролори, да. Тако ћемо ићи назад на нашу контролер како да се успостави пут до заправо ставити податке у базу података, и да податке из базе података. И не морамо да нови контролер овај пут, јер ово је све још увек суочавање са нашим предметима, зар не? Ми смо стављањем ствари у, узимамо ствари се, тако да је још увек у нашем ставки контролер. И можемо да видимо, идемо у апликацију, контролери, ставке контролер. Dobro. Постоји много промена, Али важно оне су, имамо "шоу", који сада са приступом овај модел артикла који смо направили. Запамтите, позвали смо Модел артикла са великим И. И то је у основи узимајући Брига о СКЛ команди за вас. Ово говори иду у бази података, изаћи ставку са специфичним ИД да тражим. И зна који ИД тражите од начина проласка кроз података у "поглед" који ћу вам показати касније. А, сада такође, наш "стварају" изгледа мало другачије. Сада смо, опет, ради са СКЛ командом. Говоримо, "Пут ова нова ставка у базу података. " И, ово је у основи само из безбедносних разлога. Имамо приватну методу да некако се нега да будем сигуран уметања и узимајући ствари из базе података врши безбедно. Дакле, не стварно имати да зна превише о томе, али то је само ствар безбедности. И, идемо спасити ставка у базу података, а затим преусмери на схов страницу. Дакле, ово је много да се. Мислим да ћу стати, и паузирати, мало поразговарамо више о, генерално, структуре која Видели смо и пар кључних Такеаваис. И, мислим да ћеш наћи, ако пратите кроз упутства на гитхуб страници, ово је много Информације бачена на вас. То је потпуно нови оквир, али сам га мислим стварно се своди на неколико кључних корака. Као што сам раније поменуо, постављање до веб апп је четири корака. Ишли смо преко њих пре, они изнео прилично јасно у страници Први кораци. У суштини, било Акција желе да спроведу је врста, максимално три или четири корака. Ви обично имају да додате неки ставка у контролер како би рекао апликацију како се рукује одређени скуп информација које бива усвојен до њега, па вам да уредите поглед како би да кажеш шта веб апликацију да радим са том информацијом да буде усвојен од стране контролора. А онда, суочавање са Модел, мислим, опет, ту су неколико кључних ствари синтаксних. У основи,@итемс је некако Као глобалне променљиве. Можете га проћи у своју видите, што је прилично кул. Дакле, ако одем у мојим погледима за ове ствари-- "за ове ствари," то је било веома специфиц-- ако одем у мом мишљењу за, рецимо, "ставке индекса," можете видим да могу приступити овој ствари променљива ако користим Руби код. Дакле, шта је урадио у контролер је, каже, Желим да направим глобалну променљиву ставке. И шта ћу да радим са њим, да ли је СКЛ наредба. Ја идем у моју сто, да све ставке, и ставио их у ово ставке променљива. А онда, по мом мишљењу, ја ћу користе ове ставке променљива, која само има велику листу од свих ставке, а то је за петље синтаксу смо раније разговарали. За сваки од њих, ја ћу да одштампате од наслова, као и белешке о њима. Дакле, ово је супер згодно. Ако ћете приметити, СКЛ команду, два речи, уместо, међутим многи, 15. И, глобална променљива, све што треба да урадите је рећи,@итемс. Дакле, ово је заиста једноставан начин преносећи информације о напред и назад од модела, поглед, и контролера. Приметићете, сва три од оних, сва три дела, се приступа у овим врло једноставна три реда. Ово је рекао идите на моделу, или идите на бази, излази податке. Ово је рекао, прође га у приказу. Дакле, мислим да је пример заправо прилично леп начин од демонстрира зашто је Раилс је тако кул. Три линије, могли смо били за приступ нашу базу података, добити информације на нашем контролер, а затим га прође назад на поглед. И опет, видећете веома слична тема за све остале на Методе бисте можда желели да урадите. Видећете неких референца на базу података, и начин доношења га у приказу. А, онда су ставови су одговоран за руковање да су подаци на било који начин желите. Дакле, у финалној верзији, опет, Додао сам још неколико поља на овај контролер, који вам омогућити за брисање, и омогућавају вам да измените. Уређивање изгледа прилично слично створити, јер то има смисла, Такође ћете желети да се стављање Подаци назад у базу података, као ти када сачувате нову ставку. Брисање је мало другачији, јер као И је раније поменуто, она нема њена почетна страница које посећујете како да бисте избрисали ставку. То би био мало досадан, ако сте имали да иде на ставке / уклони / и онда ти морам да кажем који појединачна ставка за брисање. Дакле, брисање поступак је мало другачији, али ипак прати Иста општа конвенције. То ће имати неке везе са база података, где иде, како би пронашли тачан информације и избришите га, и то ће имати мало референца натраг у мишљењу, тако да је поглед зна шта да ради. Дакле, ово је Руби он Раилс. Ја бих се погледају ГитХуб, ако сте заинтересовани. Постоји много стварно цоол успостављање документације корисници је стварно лако у Раилс, у односу на готово било шта друго. Ту је драгуљ за њу под називом "осмисли" да брине о много питања аутентичности, чини гомила странице и Контролори у позадини да само треба да подесите везе са, и ваш знак-на знаковном-оут функционалност је прилично сређено. Има цоол функције визуализације га, има стварно кул, у основи све. Дакле, ја високо бих препоручио да га користите. То је супер популаран ових дана, такође. Да. Ако имате било каквих питања, Слободно ми е-маил, или остати, Ја ћу бити овде. И хвала ти пуно што сте дошли.