Ruby on Rails ... nå har folk flest hørt om det. Det lover mer effektiv kode, total objektorientering og sann MVC-arkitektur for å si mildt. Så langt som min egen personlige erfaring har det vært alt dette og mer. Koden er vakker, enkel å vedlikeholde og redigere. I et nylig prosjekt jeg jobbet med, tok det mindre enn 10 timer å gjøre søknaden, sammenlignet med minst dobbelt så hvis jeg skrev i PHP.
Jeg har hørt mange webutviklere som kjenner andre språk, vanligvis ASP eller PHP, som ønsker å lære Ruby on Rails, men bare ikke vet hvor de skal komme i gang. Fra personlig erfaring vet jeg at det er veldig forskjellig fra PHP. Personlig lærte jeg Ruby on Rails mindre enn et år siden, og har hatt få eller ingen problemer med det så langt. Hvis du ikke allerede har det, anbefaler jeg på det sterkeste å hoppe om bord med opp og kommende webramme, Ruby on Rails!
I denne serien av opplæringsprogrammer håper jeg å ta deg fra å vite ingenting om Ruby on Rails (hvis det er sant), for å kunne skrive fullt utvalgt webapplikasjoner i det. Jeg husker hvordan det var å lære det. Jeg kunne ikke finne noen serier av opplæringsprogrammer som tok deg gjennom alle essensielle i vanlig engelsk og i en ordre som var fordelaktig for meg, eleven. Selv om det er veldig gode ressurser der ute, må de også kombineres med andre. På bunnen av denne opplæringen skal jeg også liste opp ressurser som jeg har funnet nyttig i det siste også.
Denne serien vil lignes på PHP fra bunnen av serien, men med Ruby on Rails. Det blir en publisert hver uke, og blir gradvis mer avansert..
Jeg advarer deg, denne første opplæringen kan være litt tørr, men det er nødvendig for å lære RoR (la oss bare kalle det det fra nå av!). Denne uken skal vi dekke oppsett av rammen og webserveren, samt hvordan rammen fungerer. Vi skal sette det nødvendige grunnlaget for å lære RoR. Dette er hvor mange webutviklere som vil lære RoR fail.I lover at vi skal gjøre mye mer spennende ting neste gang!
Ruby er språket som rammeverkene strekker seg ut. Det er veldig objektorientert. Syntaxen er inspirert av Perls, og er derfor veldig lik. Det ligner også Python, Lisp, Dylan og CLU. For å sitere Wikipedia:
"Ruby ble oppfattet 24. februar 1993 av Yukihiro Matsumoto som ønsket å skape et nytt språk som balansert funksjonell programmering med tvingende programmering. Ifølge Matsumoto ønsket han et skriptspråk som var kraftigere enn Perl, og mer objektorientert enn Python Det er derfor jeg bestemte meg for å designe mitt eget språk. "
Det var mest populært i Japan, det var til rammen Rails kom ut. Helt siden har den fortsatt å vokse med en fenomenal hastighet overalt.
Rails er det berømte rammeverket som fungerer av rubin. Brukerbasen vokser stadig. Utviklet av David Heinemeier Hansson av 37signaler for basecamp, ble den utgitt som åpen kilde i juli 2004. Den bruker MVC (Model - View - Controller) arkitektur. Hvis du vil ha en børste opp på MVC, må du sjekke ut MVC-opplæringen. Den nyeste versjonen er 2.1.0. Det var noen signifikante endringer i v2. Dette inkluderer den berømte stillasfunksjonen til v1. Det er endret litt i versjon 2.
Ruby on Rails følger flere prinsipper for å holde koden slank og ren. Du bør prøve å leve med disse prinsippene mens du jobber med RoR for å få mest mulig ut av det. For det følger den Agile programmeringsperioden for Tørk (Ikke repeter selv). Det betyr selvsagt at du bare skriver koden en gang på et bestemt konsistent sted. For eksempel, hvis du trenger koden for å gjøre en bestemt ting, så legger du det på et bestemt sted hver gang.
Det andre konseptet som RoR følger er CoC (Konvensjoner over konfigurasjon).Dette betyr ganske mye at rubin antar mye, og forklarer de fleste av de automatiske standardene, vil du se Ruby generere for oss. I stedet for at du alltid må konfigurere alt, i hvert enkelt prosjekt, gjør rubin automatisk det for deg. Hvis du vil gjøre noe som er ukonvensjonelt, overstyrer du bare de fornuftige standardene RoR allerede har på plass. Dette fører generelt til mindre kode må være skrevet.
Fordeler med å lære Ruby on Rails:
Ulemper med Ruby:
Jeg har bare hørt denne påstanden, men flere og flere servere blir bedre rustet til Rails som det fortsetter å vokse likevel, slik at det blir mindre og mindre et problem.
En rubinfil har forlengelsen av .rb. Disse filene vil vanligvis ikke inneholde HTML. Dette er et utdrag av en rubinfil (spesielt en kontroller) fra en spillmotor jeg nylig gjorde. Som du kanskje kan se. Den trekker data fra en database, og viser spill i henhold til variablene kategori og tittel:
klassen GameController < ApplicationController def game_list
@title = '3'
@category = 'Action'
@games = Game.find (: all,
: conditions => ["tittel LIKE? OG kategori =?", '%' + tittel + '%', kategori],
: ordre => 'tittel, kategori ASC',
: grense => 5,: offset => 0)
slutten
Som mange andre webspråk lar Rails deg legge inn rubin med HTML. Seki Masatoshi skrev et program kalt ERb, innebygd rubin, som skanner alle .rhtml-filer (innebygde rubinfiler), til det kommer over enten <% Ruby Code that is only processed -%> eller <%= Ruby Code that is then outputted %>. Den prosesserer deretter rubinkoden og fyller i blankt hvis det er nødvendig.
Her er et eksempel på Embedded Ruby:
<% title = "Nettuts" %>
<% header_text = "Ruby on Rails Tutorial" %><%= title %> <%= header_text %>
Dette er et eksempel på en .rhtml-side.
Slik får brukeren det:
Nettuts
Ruby on Rails Tutorial
Dette er et eksempel på en .rhtml-side.
Windows og OSX-brukere er begge veldig heldige. Begge operativsystemene får et alt-i-ett-installasjonsprogram / program som installerer rubin, skinner og serveren. For Windows har du muligheten til Instant Rails. Gå til http://instantrails.rubyforge.org/wiki/wiki.pl for å laste den ned. Jeg har personlig brukt dette, og har ikke hatt store problemer med det. Støt meg, det er mye lettere å gjøre dette, så installer alt separat.
Klikk på nedlastingen for å få umiddelbarrapporter.
Når du klikker nedlastingen, blir du omdirigert til rubyforge.org. Der kan du velge den nyeste versjonen. På tidspunktet for denne skrivingen var 2.0 det siste. Også på tidspunktet for denne skrivingen har mange populære verter som støttet rubin, bare støttet 1.8.x-versjonen. Det er store forskjeller mellom versjon 1 og 2. Så det er opp til deg hvilken versjon du vil installere. I denne opplæringen vil jeg laste ned versjon 2.0.
Nå som den er lastet ned, trekk den ut til en katalog som ikke inneholder mellomrom.
OSX har også lykke til å ha en alt i en Ruby on Rails manager, lokomotiv. For OSX, og andre operativsystemer, kan du finne en veldig god ressurs på Ruby on Rails wiki.
Fra nå av skal jeg bruke Instant Rails. Det er ikke veldig forskjellig fra noe annet sett opp, så hvis du bruker en annen teknikk, bør du fortsatt kunne følge med på det. Hvis du får problemer, vær sikker på å gi meg beskjed i kommentarene og / eller sjekk ut ressursene.
Så nå har du alle filene som trengs på plass for oppsettet ditt. Start det opp! For Windows, gå til katalogen du setter Instant Rails, og kjør InstantRails.exe. Du får nok denne meldingen, men for katalogen din, som du kan trykke på "ja" for:
Nå som Instant Rails kjører, kan du gjøre flere ting. Akkurat nå trenger du bare å kunne:
- Åpne et konsollvindu
-Lag et nytt prosjekt.
- Start serveren for et aktuelt prosjekt
Vi går gjennom hver handling separat.
1) Klikk på øverste venstre ikon:
2) Gå til "Rails Applications"> "Åpne Ruby Console Window"
3) Vi har nå en konsollvindu åpen. Her kan du gjøre mange ting i ruby som å generere nye prosjekter, kontrollører og andre oppgaver som vi dekker senere. Nå skal vi bruke dette konsollvinduet til å lage et nytt program.
1) Nå skal vi skrive inn "skinner nett", der nettnøtter er navnet på søknaden din. Velg navnet nøye, siden du vil bruke det for resten av programmet. Siden vi egentlig ikke gjør noe spesielt, vil vi bare velge nettnøtter som vårt navn:
2) Det vil nå generere alle nødvendige filer for søknaden. Dette er filene som rammen bruker og trenger. Det vil bidra til å gi CoC (Konvensjoner over konfigurasjon).
3) Vi har nå en Ruby on Rails søknad generert!
1) For å kjøre programmet må vi gå til Instant Rails og klikke på ikonet igjen:
2) Så går vi til "Rails Applications"> "Administrer Rails Applications ..."
2) Du kan se Instant Rails-skip med to projeter allerede. Kokeboken er en ganske fin demonstrasjon av hva du enkelt kan gjøre med Rails. Jeg oppfordrer deg sterkt til å sjekke det ut. Og så etter at du lærer litt mer om Rails, sjekk kildekoden. Du vil bli overrasket over enkelheten! Uansett, merk av i ruten ved siden av nettene, og klikk på "Start med Mongrel". Brannmuren kan motsette seg, men tillat det. Et konsollvindu burde pop-up med portnummeret og annen nyttig informasjon:
Så i mitt tilfelle (og sannsynligvis også i ditt), kan vi se søknaden vår på port 3000. Så bare naviger til 127.0.0.1:3000, og du bør få denne standard Rails-siden (pluss sidebjørnet til høyre):
Vi kan nå begynne å bygge applikasjonen vår!
Rails går av MVC Architecture. I utgangspunktet betyr det at vi bryter opp koden vår i tre seksjoner; modellen, utsikten og kontrolleren. Hvis du vil lære mer om MVC-arkitektur, vær sikker på å besøke Nettuts MVC introduksjonsveiledning. I denne introduksjonen til Ruby on Rails, vil vi bare dekke grunnleggende til kontrolleren:
Kontrolleren vil være banen etter hovedadressen. For eksempel, hvis vi har en kontroller som heter "lære", ville den representere yoursite.com/learn eller lokalt 127.0.0.1:3000/learn . Hver kontroller er avhengig av mange spesifikke filer, derfor for å opprette en kontroller, må du generere den via konsollen. Vi skal nå lage en ny kontroller, lære:
1) For det første åpner vi et konsollvindu via Instant Rails, eller hvilken konfigurasjon du bruker.
2) Deretter navigerer vi til gjeldende søknad. Siden vi for øyeblikket er et nivå over søknaden vår, skriver vi inn "cd-nett" (bytt katalog til nett).
3) Nå som vi er i programmet, må vi få tilgang til et skript som vil generere kontrolleren. Hvis du undersøker filstrukturen til appen, vil du legge merke til at det er en skriptmappe. Og inne i skriptmappen er det en generasjonsfil. Vi må målrette mot det og kjøre det.
4) Vi vil målrette det via konsollen. Legg merke til de andre skriptene også, de har alle sine formål. Uansett, i Windows skriver du inn "Ruby Script / Generator Controller Learn" for å generere en kontroller kalt lære. Hvis jeg husker riktig, trenger du ikke rubinen i andre operativsystemer. Konsollen vil nå generere noen filer. Sjekk disse ut i et utforskingsvindu hvis du vil. De to viktigste filene her er kontrolleren lære, som bare var en av flere filer opprettet; men legg også merke til at det også ble opprettet en visning som kalles lære. Dette er fornuftige standardinnstillinger at skinnene kommer med for å begrense mengden arbeid involvert.
Så hvordan fungerer en kontroller?
Vel, la oss ta det trinnvis.
-Brukeren forespørsler yoursite.com/learn
-Rails ser automatisk ut i serverkatalogen for app / learn_controller
-Rails skanner .rb filen for en indeksfil definisjon
-Rails gjør hva definisjonen forteller det å gjøre, og til slutt oppretter eller omdirigerer til en visning.
-Denne visningen (lærer), sendes deretter tilbake til brukeren.
Ikke bekymre deg hvis dette ikke er helt fornuftig. Neste opplæring vil vi gå nærmere i kontroller. For akkurat nå, bare vær kjent med hvordan du oppretter en kontroller, og at de eksisterer.
Ruby on Rails tar sikte på å gjøre bygningen webapplikasjoner enklere. I Ruby on Rails Essential Training, Ekspertinstruktør Kevin Skoglund fokuserer på det samme målet. Kevin forklarer den komplette prosessen - fra å forstå de grunnleggende konseptene bak noen Ruby on Rails-prosjekter for å skape fullverdige, enkle å vedlikeholde applikasjoner ved hjelp av Ruby on Rails-rammene.
Besøk artikkelen
Dette er en utrolig serie av Ruby on Rails opplæring, som dekker mye, men det er noen ganger vanskelig å følge.
Besøk artikkelen
Dette er Rails offisielle nettsted. Hvis du vil bli begeistret for Rails, gå her! Her kan du laste ned den nyeste versjonen, få de siste nyhetene, og finne noen andre ressurser for å lære Rails.
Besøk artikkelen
Dette er en annen stor ressurs. Når du blir neste Rails ninja, kan du til og med være tvunget til å redigere noe av informasjonen her!
Besøk artikkelen
Husk å sjekke ut så mange av disse ressursene før neste opplæring.
Vel, jeg håper du kunne overleve gjennom all den informasjonen. Stol på meg, du vil være glad du gjorde. Pass på at du får den generelle forståelsen av denne opplæringen. Når vi fortsetter, vil de fleste spørsmålene bli besvart, og du vil begynne å føle deg mer "opplyst", på hva Rails er. Og jeg lover neste uke vil bli mer moro! Neste uke skal vi dekke litt mer av rammen, og begynne å komme inn i ruby syntaks, og litt mer av hva du kan gjøre med skinner. Hvis denne veiledningen hjalp deg, vennligst Digg den!