Creați un site web cu Sinatra

Cuprins
Utilizarea Sinatra întrucât un cadru este foarte larg, acesta poate fi folosit pentru a construi instrumente și servicii care îl utilizează HTTP Cu toate acestea, ca strat de transport de date, nu este singurul lucru pe care îl putem realiza, există momente în care trebuie să putem construi pagini web în care să putem afișa informații sau pur și simplu să captăm date.
Această creație de pagini web este foarte simplă și complexă în același timp, deoarece Sinatra Nu ne impune niciun tip de model atunci când le construim, astfel încât nivelul de complexitate va depinde de modul în care lucrăm, ceea ce poate fi foarte pozitiv dacă avem deja propriul nostru mod de lucru.
1- Pentru a rula exemplele din acest tutorial, vom avea nevoie de o instalare a limbajului Rubin cel puțin în a lui versiunea 1.9 încolo.
2- De asemenea, trebuie să avem instalată bijuteria Sinatra și că este configurat corect. Dacă există vreo îndoială cu privire la acest proces, putem consulta următorul tutorial.
3- Trebuie să avem permisiuni pentru a executa un folder Rubin, creați și manipulați fișiere.
4- Trebuie să avem un editor de text pentru a putea scrie conținutul exemplelor, acesta poate fi orice tip de editor de text simplu care ne permite să salvăm un fișier .rb precum Sublime Text sau chiar NotePad ++.
5- În cele din urmă, avem nevoie de un browser web de genul Google Chrome sau Firefox unde putem rula exemplul nostru și naviga prin el.
Pentru a crea un site web, în ​​primul rând, trebuie să avem o viziune, un obiectiv, ceva care să ne ghideze și pe care să îl putem folosi ca referință atunci când ne dezvoltăm, acest lucru în general îl realizăm atunci când știm ce va lua proiectul nostru.
În cazul site-ului web pe care îl vom construi, obiectivul va fi crearea a trei pagini, le vom enumera:
  • start
  • Despre mine
  • a lua legatura
Acest lucru ne conduce la faptul că va fi un site de referință sau un blog personal, în acest mod va trebui să stăpânim câteva tehnici pe care în viitor le putem aplica și altor proiecte. Pentru a ne putea vedea progresul mai rapid, vom itera și corecta pe parcurs în timp ce ne construim site-ul.
Pentru a începe trebuie să creăm un fișier numit începe.rb, acesta va fi cel care va conține toată logica vizualizărilor și rutelor site-ului nostru web, conținutul inițial pe care îl are este următorul:
 cere 'sinatra' get '/' do erb: start end
În principiu, ceea ce tocmai am scris pare puțin lipsit, dar să vedem care este funcționalitatea; în primul rând includem Sinatra cu instruire solicitaAceasta înseamnă că putem avea acum toate instrumentele pe care acest cadru ni le pune la dispoziție.
Apoi avem blocul obține în care definim că conținutul trebuie executat în calea rădăcină, respectivul conținut este un apelant erb la :început, unde în acesta din urmă trebuie să ne oprim pentru a vedea ce este ERB și de ce îl folosim, să vedem:
Limbajul șablonului ERBDupă cum sugerează titlul ERB nu este altceva decât acronimul pentru Rubin încorporat o Ruby încorporat, acest lucru ne permite să creăm șabloane HTML unde putem include cod scris în limbă Rubin și cu aceasta să poată încorpora puterea sa de procesare în vizualizări. Le numim după numele lor folosind simboluri, care nu este altceva decât numele precedat de două puncte așa cum am văzut în cod :început.
Deoarece suntem clari despre noul concept pe care îl introducem, acum vom crea primul nostru șablon, în același fișier începe.rb pe care le creăm, vom încorpora următorul cod la sfârșitul acestuia:
 __END__ @@ acasă Propriul meu site web
  • start
  • Despre mine
  • a lua legatura

Bine ați venit pe site-ul meu, aici vă voi demonstra cunoștințele despre Ruby și Sinatra

Aici avem mai multe lucruri pe care le putem analiza, mai întâi începem prin a le spune Sinatra că acesta este sfârșitul procesării Rubin, pentru aceasta folosim __SFÂRȘIT__ apoi cu o dublă @@ Vă indicăm numele secțiunii, în acest caz începeți, dacă ne uităm la ea este același nume al simbolului nostru.
Am scris în cele din urmă toate noastre HTML fără nici o problemă. Apoi mergem la consolă, ne poziționăm în folderul în care ne creăm fișierul începe.rb și facem următoarele:
 rubin start.rb
Putem construi serverul de dezvoltare de la Sinatra și vom vedea următoarele când vom merge la localhost: 4567 sau numărul de port pe care l-am ridicat pentru serverul nostru:

După cum am observat, avem HTML pe care o construim în calea rădăcină din care indicăm aplicația noastră Sinatra.
Unul dintre lucrurile pe care trebuie întotdeauna să le evităm este să repetăm ​​ceea ce putem face o singură dată și care funcționează pentru mai multe lucruri, în cazul paginii noastre HTML baza este ceva ce putem crea o singură dată, dacă urmăm exemplul anterior pentru a construi secțiunile din Despre mine Da a lua legatura, ar fi trebuit să repetăm ​​tot HTML-ul doar schimbând partea de conținut, ceva care avea să ne lase cu un fișier lung, foarte lung începe.rb.
Pentru a contracara acest tip de comportament ineficient, Sinatra ne permite să folosim aspectul, cu aceasta putem crea o bază în care vom imprima pur și simplu modificările sau codul dinamic pe care îl vom genera.
Pentru a începe modelarea aspectului nostru, vom modifica fișierul nostru în primă instanță începe.rb și vom adăuga încă câteva rute:
 cere 'sinatra' get '/' do erb: start end get '/ on' do erb: on end get '/ contact' do erb: contact end
Acum avem traseele pe care le menționăm în meniu HTML pe care le-am construit înainte, acesta este doar începutul, deja Sinatra știți ce să căutați atunci când apelăm acele rute, următorul pas este să ne definiți aspectul și conținutul care va fi afișat la apelarea fiecărei rute.
Pentru a face acest lucru, trebuie mai întâi să creăm un șablon și să îl identificăm cu numele @@ layout, apoi folosind Ruby Embedded cu etichetele vom defini un singur titlu și cu etichetele vom imprima conținutul acolo unde este necesar. În locul în care conținutul nostru se schimbă, vom plasa acesta, este un utilitar care ne permite să indicăm Sinatra care se află în acel spațiu unde ar trebui să imprime conținutul traseului.
În cele din urmă, definim fiecare dintre traseele noastre și conținutul pe care îl vor transporta, urmând ordinea logică @@traseu și apoi conținutul, cu el deja Sinatra știe ce să arate la fiecare apel. Să vedem cum arată codul complet al fișierului nostru începe.rb inclusiv aspect:
 cere 'sinatra' get '/' do erb: start end get '/ on' do erb: on end get '/ contact' do erb: contact end __END__ @@ layout
  • start
  • Despre mine
  • a lua legatura
@@început

Bine ați venit pe site-ul meu, aici vă voi demonstra cunoștințele despre Ruby și Sinatra

@@despre

Bună, eu sunt creatorul acestui lucru Web, Mi-am folosit abilitățile pentru a-i face pe Ruby și Sinatra să funcționeze

@@A lua legatura

Dacă doriți să aflați mai multe despre mine, puteți vizita Solvetic

După cum putem vedea, am scris doar unul HTML iar restul conținutului este mai rezumat, prin urmare mult mai ușor de gestionat și mai ușor de întreținut, să vedem cum arată în browserul nostru atunci când navigăm la un traseu diferit de la început:

MARI

Am creat deja un site mic, dar funcțional, unde avem mai multe linkuri și avem conținut dinamic, folosind doar un aspect pentru a-și construi structura, bineînțeles că încă ne lipsesc stilurile CSS și imaginile, dar acesta este subiectul unui alt tutorial. Desigur, acest stil nu este foarte util dacă vom avea conexiuni cu baze de date sau funcționalități cu multe vizualizări, de atunci singurul nostru fișier ar începe să fie foarte complex de gestionat și întreținut.
Cu aceasta am terminat acest tutorial, am creat primul nostru site folosind Rubin Da Sinatra, profităm de faptul că putem folosi orice metodologie care ni se pare adecvată și am făcut ceea ce se numește o aplicație cu un singur fișier, acest tip de aplicație este util atunci când avem proiecte foarte simple și că nu dorim ca acestea să fie dispersate inutil , cum ar fi webul rezultat din exemplu.V-a plăcut și ați ajutat acest tutorial?Puteți recompensa autorul apăsând acest buton pentru a-i oferi un punct pozitiv

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave