Lær Ruby on Rails fra scratch Uke 1

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!

Mission Statement

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..

Denne opplæringen

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!

Hva er Ruby?

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.

Hva er Rails?

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.

Begreper Ruby on Rails

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:

  • Det er ganske enkelt å lære i forhold til andre språk
  • Helt objektorientert
  • MVC Arkitektur
  • Du trenger ikke skrive så mye kode
  • Veldig forlengelig
  • Åpen kilde
  • Samfunnet er svært nyttig i å svare på spørsmål
  • Til tross for at det er et relativt nytt rammeverk, er det ganske fullt utstyrt og har svært få feil.

Ulemper med Ruby:

  • Behandlet annerledes, så koden kan være litt tregere på servere som ikke er egentlig bygget for å håndtere rubinkode

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 Ruby-fil

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

En innebygd Ruby-fil

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.




Installere Ruby on Rails For Windows

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.

Installere Ruby on Rails For andre OS

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.

Komme i gang med rammen

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.

Åpne et konsollvindu

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.

Opprette 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!

Kjører et program

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!

Hvordan rammen fungerer

MVC Arkitektur

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

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.

ressurser

  • Lynda.com: Ruby on Rails Essential Training

    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

  • Tutorials Point Ruby on Rails Series

    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

  • Ruby on Rails

    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

  • Rails Wiki

    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.

Neste uke og siste ord

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!

  • Abonner på NETTUTS RSS-feed for flere daglige webutviklinger og artikler.