Ruby on Rails is een open-source web framework dat is geoptimaliseerd voor programmeur geluk en duurzame productiviteit. Het laat je mooie code schrijven door conventie te prefereren boven configuratie.
Dit is de manier waarop Ruby on Rails zichzelf promoot - maar in mijn woorden is het een ongelooflijk raamwerk dat je leven echt een stuk eenvoudiger kan maken. Je kunt meer leren op hun site http://rubyonrails.org
Het installeren van Ruby on Rails (ook vaak afgekort tot RoR) is op de meeste systemen vrij pijnloos, maar je zult wel op je gemak moeten zijn als je de terminal opent. De Ruby on Rails downloadpagina bevat links om aan de slag te gaan, en ik zal ze hier reproduceren om u een beetje tijd te besparen. Net als een notitie, dit zijn de plaatsen om Ruby te krijgen, dat is waar Rails in geprogrammeerd is, en we zullen Rails in een minuut installeren. Raadpleeg de Ruby-site voor meer informatie over de taal
Nu we Ruby hebben gedownload, moet je ervoor zorgen dat je RubyGems hebt, wat een pakketbeheerder is voor Ruby.
Om te testen of je RubyGems hebt, voer je het volgende in terminal uit:
gem -v
Op dit moment is 1.3.2 de nieuwste versie. Als u wilt updaten als u niet over de nieuwste versie beschikt, voert u het volgende uit en als u op een Mac werkt, plaatst u sudo op de voorgrond.
edelsteen update - systeem
Volg deze stappen als u RubyGems niet zult gebruiken:
Als je een Linux-systeem hebt, zou je RubyGems moeten kunnen installeren via je pakketbeheerder, maar ik geef de voorkeur aan de bovenstaande methode. Als u nog meer problemen ondervindt, raadpleegt u de installatiedocumentatie op de RubyGems-site.
Nu we de nieuwste versie van RubyGems hebben, laten we Rails installeren:
gem installeren rails
Het duurt een paar minuten om Rails en al zijn 'dependancies' te installeren.
Dus nu we Ruby, RubyGems en Rails hebben geïnstalleerd, laten we een project maken! Als u een nieuw project wilt maken, gebruikt u de opdracht Rails om nieuwe projecten te maken. We zullen een eenvoudig project met de naam 'blog' maken. Notitie: Hiermee wordt de app-map gemaakt in de huidige map waarin u zich in de terminal bevindt. Zorg er dus voor dat u naar de map gaat waar u de app wilt opslaan..
rails blog
Je zou zoiets voorbij moeten zien vliegen:
Open vervolgens het project in uw favoriete teksteditor / IDE. Ik ben persoonlijk dol op TextMate, - alleen voor Mac OS X zijn er enkele geweldige klonen die ook beschikbaar zijn.
De mappenstructuur van een Ruby on Rails ziet er ongeveer als volgt uit:
Er zijn drie mappen die elke ontwikkelaar of ontwerper dagelijks moet gebruiken: de app-, configuratie- en openbare mappen. Bekijk de korte uitleg voor elk van de mappen:
Hoewel het doel van deze tutorial niet is om een applicatie te maken, zullen we nog steeds een beetje programmeren. Laten we eerst een controller met de naam artikelen maken: (zorg ervoor dat u bent overgeschakeld naar de root van de Rails-applicatie)
script / regelartikel genereren
Open nu het bestand en u zou dit moeten zien:
class ArticlesController < ApplicationController end
Al deze code zegt dat we een nieuwe klasse definiëren, genaamd ArticlesController, die erft van een andere klasse genaamd ApplicationController. Nu gaan we een actie maken (waarnaar verwezen wordt als een strikt gesproken in Ruby) naam-index, dus als je naar http: // localhost: 3000 / articles / gaat, wordt er iets getoond. Wijzig uw code zodat deze eruit ziet:
class ArticlesController < ApplicationController def index end end
Dus nu dat we een actie hebben, ga dan naar de map app / views. We gaan een weergave maken, dus wanneer een gebruiker die URL opvraagt, zien ze daadwerkelijk iets. Het is je misschien opgevallen dat er een nieuwe map in deze benoemde artikelen staat; deze map is gemaakt toen we de controller genereerden. Maak dus een nieuw bestand in de map articles met de naam index.html.erb. Je kunt je afvragen wat het einde is, de html verwijst naar het type bestand en de erb verwijst naar de ingesloten Ruby als template-engine. Persoonlijk geef ik de voorkeur aan rhtml omdat het een enkel einde is, maar dat wordt afgeschreven in Rails 3, die deze zomer zal worden vrijgegeven bij RailsConf. Plaats dit in je nieuwe bestand:
De tijd is nu <%= Time.now %>
De tags & lt% =%> kunnen u intrigeren. Deze tag is zo bedoeld dat Ruby de resultaten van de ingesloten Ruby-code gebruikt. Dus deze code zal de tijd nu afdrukken. De andere tag die u in Rails gaat gebruiken, is eenvoudig <%- -%>. Deze tag is bedoeld voor Ruby-code die eigenlijk niets uitvoert, zoals bij het herhalen van items in een array.
Nu gaan we een lay-out maken om deze tekst mooi te maken. Dus maak een bestand aan in de views / layouts-map met de naam application.html.erb met daarin het volgende:
<%= h(@title) %> <%= stylesheet_link_tag 'application' %> <%= javascript_include_tag 'prototype' %> <%= yield(:head) %><%- flash.each do |name, msg| -%> <%= content_tag :div, msg, :id => "flash _ # name"%> <%- end -%> <%= yield %>
Ten eerste wil ik, voordat ik de code uitleg, willen weten waarom we het bestand application.html.erb hebben genoemd. Rails laadt deze lay-out automatisch elke keer tenzij anders aangegeven. Als je deze lay-out "lay-out" had genoemd, dan had je lay-out moeten toevoegen: lay-out naar de bovenkant van de controller. Dit codeblok bevat enkele belangrijke weetjes die u wilt weten voor wanneer u lay-outs aan het ontwikkelen bent.
Laten we nu een snel CSS-bestand maken met de naam application.css in public / stylesheets en het volgende erin zetten:
body achtergrondkleur: # 111; lettertype-familie: Verdana, Helvetica, Arial; lettergrootte: 14 px; #container width: 75%; marge: 0 auto; achtergrondkleur: #FFF; opvulling: 10px; rand: vast 5px # 999; margin-top: 20px;
Nu hebben we een heel eenvoudige toepassing voor het weergeven van de huidige tijd; hopelijk zou je meer vertrouwd moeten zijn met de basis van Rails.
U denkt misschien: "Dit is cool en zo, maar hoe zie ik het eindproduct?" Er is een terminalopdracht die u moet uitvoeren terwijl u zich in de basis van de Rails-toepassing bevindt om de lokale ontwikkelingsserver te starten. script / server start de server, normaal op poort 3000. Voer de opdracht uit en wijs uw browser naar http://127.0.0.1:3000/articles. Je zou het volgende moeten zien:
Om de server te stoppen, selecteert u het terminalvenster en Control-C. Dit zal de ontwikkelserver stoppen. Zorg er als een noot voor dat u nooit een productieserver op deze manier uitvoert.
Er is nog een laatste ding dat ik je graag wil laten zien. Zoals ik al eerder zei, het config / routes.rb-bestand bepaalt waar verzoeken naartoe gaan. Open het bestand; we gaan het zo maken als je naar http://127.0.0.1.13000/ gaat, zie je hetzelfde als voorheen. Zoek de regel, "# U kunt de hoofdmap van uw site laten routeren met map.root - onthoud dat u public / index.html verwijdert." Voeg onder dat gedeelte het volgende toe:
map.root: controller => "artikelen"
Sla het bestand op en zorg ervoor dat u de webserver opnieuw opstart. U moet de server altijd opnieuw opstarten telkens wanneer u een nieuw model maakt en andere andere bestanden die Rails in het geheugen opslaan, wijzigen om de server te versnellen. Zorg ervoor dat u public / index.html verwijdert, of hernoem het gewoon. Zorg er nu voor dat de server is gestart en ga naar http://127.0.0.1:3000. Je zou hetzelfde moeten zien.
Dus nu zou je wat meer vertrouwd moeten zijn met Ruby on Rails. Ik heb ook een paar geweldige sites gelinkt om naar te verwijzen bij het ontwikkelen met Rails. Veel plezier met coderen met Rails!
Volg ons op Twitter voor meer dagelijkse webontwikkelingen, tuts en artikelen.