У претходном чланку у овом серија чланака, разговарали смо о томе шта је Синатра. У овом ћемо чланку погледати неке стварне функционалне шифре Синатре, дотакнувши се неколико значајки Синатре, а све ћемо детаљно истражити у наредним чланцима из ове серије.
Пре него што започнете, мораћете да наставите и инсталирате Синатру. Инсталација Синатре је једноставна као и било који други драгуљ. Синатра има неколико зависности, али ништа велико и не бисте требали имати проблема са инсталирањем на било којој платформи.
$ гем инсталл синатра
Здраво Свете!
Синатра "Хелло ворлд" апликација је шокантно једноставна. Укључујући тражене линије, схебанг и бели простор, то су само три линије. Ово није само мали део ваше апликације, попут контролера у Раилс апликацији, ово је целокупна ствар. Још једна ствар коју ћете приметити је да вам није било потребно покренути ништа попут Раилс генератора да бисте генерисали апликацију. Само залепите следећи код у нову Руби датотеку и готови сте.
#! / уср / бин / енв рубин
захтевају 'рубигемс'
захтевају 'синатру'
добити '/' учинити
'Здраво Свете!'
крај
Наравно да ово није баш користан програм, то је само "Хелло ворлд", али још корисније апликације у Синатри нису много веће. Па, како покренути ову ситну веб апликацију? Нека врста комплекса скрипта / сервера команда? Не, само покрени датотеку. То је само Руби програм, покрените га!
инатра $ ./хелло.рб
== Синатра / 0.9.4 је заузео фазу 4567 за развој са резервним копијом од Монгрела
Није још узбудљиво. Покренуо је сервер и везан за порт 4567, па наставите и усмерите свој веб прегледач http://localhost: 4567/. Ту је твоја "Хелло ворлд" порука. Веб апликације никада раније нису биле тако једноставне у Рубију.
Коришћење параметара
Па погледајмо нешто мало занимљивије. Направимо апликацију која вас поздравља по имену. Да бисмо то учинили, мораћемо да користимо параметар. Параметри у Синатри су као и сви остали - једноставни и јасни.
#! / уср / бин / енв рубин
захтевају 'рубигемс'
захтевају 'синатру'
гет '/ хелло /: име' до
"Поздрав # {парамс [: име]}!"
крај
Једном када направите ову промену, морат ћете поново покренути апликацију Синатра. Убијте га Цтрл-Ц и покрените га поново. (Постоји начин да се то заобиђе, али то ћемо погледати у будућем чланку.) Сада су параметри јасни. Направили смо акцију под називом /hello/:name. Ова синтакса имитира како ће изгледати УРЛ адресе, зато идите на http://localhost: 4567 / здраво / твоје име да га видим у акцији.
Тхе /hello део одговара оном делу УРЛ-а из захтева који сте поставили и : име узеће сваки други текст који му дате и ставиће га у парамс хасх под кључем : име. Параметри су једноставно тако једноставни. Наравно, можете учинити много више са овим, укључујући параметре засноване на регекп, али ово је све што ће вам требати у готово сваком случају.
Додавање ХТМЛ-а
За крај, пребацимо ову апликацију са мало ХТМЛ-а. Синатра ће вратити све што добије од вашег УРЛ рукера у веб прегледач. До сада смо само враћали низ текста, али тамо можемо додати мало ХТМЛ-а без проблема. Овде ћемо користити ЕРБ, баш као што се користи у Раилс-у. Постоје и друге (можда и боље) опције, али ово је можда најпознатије, као што то долази са Рубијем, и овде ће се добро снаћи.
Прво, Синатра ће приказати поглед под називом изглед ако постоји. Овај приказ изгледа треба да садржи а принос изјава. Ова изјава о приносу ће снимити излаз специфичног приказа који се приказује. Ово вам омогућава да креирате изглед веома једноставно. Коначно имамо Здраво приказ који генерише стварну хелло поруку. Ово је приказ приказан помоћу ерб: здраво позив позива. Примјетићете да не постоје посебне датотеке за приказ. Може бити, али за тако малу апликацију, најбоље је да сав код задржите у једној датотеци. Иако су прикази одвојени на крају датотеке.
#! / уср / бин / енв рубин
захтевају 'рубигемс'
захтевају 'синатру'
гет '/ хелло /: име' до
@наме = парамс [: име]
ерб: здраво
крај
__КРАЈ__
@@ лаиоут
@@ ЗдравоПоздрав !
И ту га имате. Имамо комплетну, функционалну хелло свету апликацију у око 15 линија кода, укључујући приказе. У следећим чланцима детаљније ћемо погледати руте, како можете да похраните и преузмете податке и како да боље прегледате ХАМЛ.