Uporaba Sinatre v Rubyju

click fraud protection

V prejšnjem članku v tem serija člankov, smo se pogovarjali o tem, kaj je Sinatra. V tem članku si bomo ogledali nekaj resnično funkcionalne kode Sinatre, ki se dotakne nekaj funkcij Sinatre, vse pa bomo podrobno raziskali v prihodnjih člankih iz te serije.

Preden začnete, morate nadaljevati in namestiti Sinatro. Namestitev Sinatre je tako enostavna kot kateri koli drug dragulj. Sinatra ima nekaj odvisnosti, vendar nič večjega, zato ne bi smeli imeti težav z namestitvijo na katero koli platformo.

$ gem namestite sinatro

Pozdravljen, svet!

Sinatra "Hello world" aplikacija je šokantno preprosta. Če ne vključimo zahtevanih črt, shebang in prostega prostora, so le tri vrstice. To ni le majhen del vaše aplikacije, kot je krmilnik v aplikaciji Rails, to je celotna zadeva. Morda boste opazili še to, da vam ni bilo treba zagnati ničesar, kot je generator Rails, da bi ustvarili aplikacijo. Samo prilepite naslednjo kodo v novo datoteko Ruby in končali ste.

#! / usr / bin / env rubin
zahtevajo „rubygems“
zahtevajo 'sinatro'
dobiti '/' narediti
'Pozdravljen, svet!'
konec
instagram viewer

Seveda to ni zelo koristen program, ampak samo "Pozdravljeni svet", vendar še bolj uporabne aplikacije v Sinatri niso veliko večje. Kako torej zaženete to drobno spletno aplikacijo? Nekakšen kompleks skript / strežnik ukaz? Ne, samo zaženite datoteko. To je samo program Ruby, zaženite ga!

inatra $ ./hello.rb
== Sinatra / 0.9.4 je za razvoj stopil 4567 z nadzorom iz Mongrela

Ne še zelo razburljivo. Začel je strežnik in vezan na vrata 4567, zato nadaljujte in usmerite svoj brskalnik http://localhost: 4567/. Obstaja vaše sporočilo "Pozdravljeni svet". Spletne aplikacije v Rubyju še nikoli niso bile tako enostavne.

Uporaba parametrov

Pa si poglejmo nekaj malo bolj zanimivega. Naredimo si aplikacijo, ki vas pozdravlja po imenu. Če želite to narediti, bomo morali uporabiti parameter. Parametri v Sinatri so kot vse drugo - preprosti in preprosti.

#! / usr / bin / env rubin
zahtevajo „rubygems“
zahtevajo 'sinatro'
get '/ zdravo /: ime' naredi
"Pozdravljeni # {params [: ime]}!"
konec

Ko boste to spremembo spremenili, boste morali znova zagnati aplikacijo Sinatra. Ubite ga s Ctrl-C in ga zaženite znova. (Obstaja pot, vendar bomo to pogledali v prihodnjem članku.) Zdaj so parametri preprosti. Naredili smo akcijo, imenovano /hello/:name. Ta skladnja posnema, kako bodo izgledali URL-ji, zato pojdite na http://localhost: 4567 / zdravo / tvoje ime da ga vidimo v akciji.

The /hello se del ujema s tem delom URL-ja iz zahteve, ki ste ga opravili, in : ime bo absorbiral katero koli drugo besedilo, ki mu ga daste, in ga postavilo v polje param hash pod ključem : ime. Parametri so ravno tako enostavni. Seveda lahko s temi storite veliko več, vključno s parametri, ki temeljijo na regexp, vendar je to skoraj vse, kar boste potrebovali skoraj v vsakem primeru.

Dodajanje HTML-ja

Na koncu pa še malo prikličemo to aplikacijo. Sinatra bo vrnil vse, kar je od vašega orodja za obdelavo naslovov vrnil v spletni brskalnik. Do zdaj smo samo vračali niz besedila, toda tam lahko brez problema dodamo nekaj HTML-ja. Tu bomo uporabili ERB, tako kot se uporablja v Rails. Obstajajo še druge (verjetno boljše) možnosti, vendar je to morda najbolj znano, kot gre za Ruby, in tu bo dobro.

Najprej bo Sinatra upodobil pogled postavitev če obstaja. Ta pogled postavitve mora imeti a donos izjava. Ta izjava o donosu bo zajela izhod določenega prikaza, ki se prikazuje. To vam omogoča, da ustvarite postavitve zelo preprosto. Končno imamo še a zdravo pogled, ki ustvari dejansko zdravo sporočilo. To je pogled, ki je bil predstavljen s pomočjo erb: zdravo klic metode. Opazili boste, da ni ločenih datotek za ogled. Obstaja, vendar je za tako majhno aplikacijo najbolje, da vso kodo hranite v eni datoteki. Čeprav so pogledi ločeni na koncu datoteke.

#! / usr / bin / env rubin
zahtevajo „rubygems“
zahtevajo 'sinatro'
get '/ zdravo /: ime' naredi
@name = params [: ime]
erb: zdravo
konec
__END__
@@ postavitev





@@ zdravo

Pozdravljeni !

In tam ga imate. Imamo popolno, funkcionalno zdravo aplikacijo v približno 15 vrsticah, vključno s pogledi. V naslednjih člankih si bomo podrobneje ogledali poti, kako lahko shranjujete in pridobivate podatke in kako narediti boljši pogled s HAML.

instagram story viewer