Inhoudsopgave
Hoewel het mogelijk is om een website te maken met Sinatra in een enkel bestand is dit echt een slecht idee, aangezien het probleem is dat hoe complexer onze site is, hoe moeilijker het zal zijn om in dat bestand te navigeren en daarom, wanneer er een fout optreedt, hoe moeilijker het zal zijn om het te corrigeren .Het idee achter het gebruik van een framework zoals Sinatra het is om ons werk te kunnen vereenvoudigen terwijl we profiteren van alle tools die ons in het pakket worden aangeboden, ook door onze manier van werken te integreren, waardoor het zeer waarschijnlijk is dat het gebruik van een enkel bestand voor alles niet iets is dat is in onze filosofie.
Daarom kunnen we beginnen te werken aan externe weergaven en stijlen, zodat elke weergave die we nodig hebben in een apart bestand staat waarmee we enerzijds fouten gemakkelijker kunnen detecteren en anderzijds de structuur van ons project veel praktischer organiseren .
1- We moeten eerst taal hebben Robijn gedownload, geïnstalleerd en geconfigureerd in onze ontwikkelomgeving.
2- Internettoegang om enkele van de bronnen te kunnen downloaden die we in de voorbeelden gaan aangeven.
3- Voldoende rechten om nieuwe bestanden te schrijven en mappen te maken, naast het kunnen uitvoeren van bestanden met Robijn.
4- Een teksteditor om de code te kunnen schrijven die we voor de bestanden zullen gebruiken, het kan zijn: Sublieme tekst of NotePad ++, maar waar we bekend mee zijn, dient ons doel.
De HTML In het hoofdbestand van het project wordt het niet aanbevolen, tenzij onze site statisch of tijdelijk is en we onmiddellijk met iets naar de markt moeten gaan, aangezien, zoals we al zeiden, deze praktijk onze code niet leesbaar maakt en niet kan worden onderhouden netjes op tijd.
Om dit probleem op te lossen dat zich voordoet, Sinatra biedt ons de mogelijkheid om externe views te creëren, die niets meer zijn dan bestanden .erb waar zullen we de . plaatsen HTML overeenkomend met onze mening, waarbij: Sinatra Bij het routeren van de gemaakte weergave zal deze onmiddellijk naar deze bestanden zoeken en hiermee wordt het antwoord voor de gebruiker gegenereerd. Laten we in de volgende code kijken hoe we een externe weergave hebben gemaakt zodat ons project de gebruiker wat informatie laat zien.
Wat we eerst zullen doen, is een bestand maken met de naam opdrachtgever.rb en daar creëren we onze basisstructuur zoals we hieronder zullen zien:
vereisen 'sinatra' get '/' do erb: start end get '/ on' do erb: on end get '/ contact' do erb: contact endTot nu toe is dit niets nieuws als we de tutorial van de eerste stappen met Sinatra al hebben gezien, wat we hier doen is de bibliotheek importeren met vereisen en tot slot definiëren we de routes die de views zullen terugkeren, allemaal met de methode KRIJGEN HTTP.
Nu gaan we een bestand maken met de naam layout.erb en we gaan het in een nieuwe map plaatsen met de naam keer bekeken die zich in dezelfde map moet bevinden als waar we ons bestand hebben gemaakt opdrachtgever.rb, laten we eens kijken welke code ons bestand zal bevatten layout.erb:
- Begin
- Over mij
- Contact
Als we goed kijken, realiseren we ons dat het niet meer is dan… HTML. Als dit is voltooid, gaan we nu gewoon naar de opdrachtconsole en voeren we onze nieuwe applicatie uit, hiervoor hoeven we alleen het volgende uit te voeren:Welkom op mijn website, hier zien we hoe onze eerste externe kijk Sinatra werkt
ruby principal.rbWat deze opdracht doet, is de geïntegreerde ontwikkelingswebserver verhogen WEBrick zoals we zien in de volgende afbeelding:
VERGROTEN
BasisstructuurDe basisstructuur is een hoofdbestand waarin het framework is opgenomen en de routes worden gemaakt, dan hebben we twee extra mappen, één genaamd keer bekeken welke we gebruiken om onze bestanden op te slaan .erb die overeenkomen met de weergaven en een map openbaar dat is waar we de verschillende statische bestanden zoals .css of .js zullen opslaan.
Als we de volgende afbeelding zien, kunnen we de basisstructuur waarderen die we hebben gegenereerd voor de toepassing van het vorige voorbeeld:
Wat nu als we de standaardnamen van niet willen gebruiken? Sinatra omdat onze applicatie om de een of andere reden andere mappen moet hebben, zoals we dit gewoon in het bestand aangeven opdrachtgever.rb als volgt:
set: public_folder, 'statisch'Met deze instructie vertellen we: Sinatra dat nu in plaats van te zoeken naar een map openbaar, moet u zoeken naar een map met de naam Static.
set: weergaven, 'sjablonen'Met deze instructie vertellen we Sinatra dat in plaats van te zoeken keer bekeken zoeken naar sjablonen.
Hiermee hebben we de manier waarop het framework met die bestanden omgaat al overschreven, waardoor we meer vrijheid hebben over ons project.
Nu we begrijpen hoe de structuur van onze applicatie werkt, gaan we de stijlen opnemen, hiervoor kunnen we verschillende benaderingen toepassen, maar het meest aanbevolen is om een algemeen bestand te maken dat van toepassing is op alle weergaven. Hoewel we de aanpak van het maken van onze CSS handmatig gaan we in dit voorbeeld uitleggen hoe je Bootstrap toevoegt en zo een steviger startpunt hebt.
Allereerst moeten we het raamwerk van . downloaden Bootstrap en sla de resulterende map op in onze directory openbaar of statisch in het geval dat we de instructies voor de naamswijziging in de uitleg van de mappenstructuur hebben gevolgd. Dan in ons bestand lay-out We gaan de inhoud van het label een beetje veranderen om de nodige bibliotheken op te nemen voor de werking van Bootstrap, laten we eens kijken naar de toegepaste wijzigingen:
Zodra we de bibliotheken van Bootstrap we gaan onze wijzigen HTML Om het een structuur te geven die meer in lijn is met het raamwerk, kunnen we hiermee de verandering van stijlen op onze site directer opmerken:
- Begin
- Over mij
- Contact
We herstarten onze server vanaf WEBrick en we voeren het opgegeven pad in waarin onze applicatie wordt uitgevoerd, dat er als volgt uit moet zien met de toegepaste wijzigingen:
Zo eindigen we deze tutorial, waarmee we hebben geleerd ons project te organiseren door externe weergaven te gebruiken die een mappenstructuur definiëren en onze applicatie veel aantrekkelijker maken door stijlen op te nemen, maar niet alleen gewone CSS, maar we hebben het raamwerk opgenomen Bootstrap wat ons helpt om veel aantrekkelijkere gebruikersinterfaces te maken zonder veel hoofdpijn.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een positief punt te geven