Den beste måten å lære Ruby på Rails

Jeg kommer fra en PHP-bakgrunn, men i disse dager er jeg en fullstendig Rails-utvikler. Vanskeligheten for de fleste som gjør bryteren ligger i læringskurven som er involvert. Når du har blitt dyktig i et språk eller rammeverk, føles bytte til en ny som en unødvendig (og tidkrevende) utfordring.

Imidlertid er læring Ruby and Rails faktisk ganske enkelt! Det er et utrolig kraftig rammeverk, og har et stort samfunn som presser det sammen. Så det stiller spørsmålet: Hva er den beste måten å lære Rails på? Her er en leksjonsplan.

Denne artikkelen beskriver en full læreplan som får deg til å komme i gang på kort tid! Følg hvert oppdrag nedenfor i rekkefølge.


Oppgave 1 - Arbeid gjennom "Prøv Ruby" Øvelser

Du kan tenke deg å lære Ruby er det viktigste trinnet, og dette er sannsynligvis den delen der alle slutter å lære og bare stikker med deres nåværende rammeverk. Ikke gjør det! Ikke vær redd for å lære dette språket (eller noe språk, egentlig). Ruby er et morsomt, vakkert og lett å lære språk. I tillegg trenger du ikke å dominere språket 100% for å kunne lære Rails. Du trenger bare det grunnleggende for å begynne.

Arbeid gjennom Try Ruby øvelsene.

Det mest anbefalte verktøyet for å dyppe inn i Rubys syntaks er Try Rubys nettsted. Det gir deg et interaktivt, nettbasert skall for å spille med språket. Hvis du skriver inn hjelp, Du vil bli møtt med en interaktiv 15 minutters opplæring som lærer deg veldig grunnleggende i språket. Typing hjelp 2 tar deg til det andre kapitlet i opplæringen.

Når du har arbeidet gjennom disse oppgavene et par ganger, har du en solid base. Personlig, å fullføre disse to opplæringsprogrammene er alt jeg opprinnelig gjorde. Resten jeg har lært ved å lage nettsteder med Rails, Googling og spille i IRB.


Oppgave 2 - Installer Ruby And Ruby on Rails

Løpe perle installasjonsskinner å installere Rails.

Hvis du vil lære Rails, må du selvfølgelig installere den på maskinen din. Det er flere måter å gjøre dette på, avhengig av plattformen. Hvis du er på en Mac eller en Linux-basert datamaskin, anbefaler jeg at du bruker RVM. Det er et flott verktøy for å installere Ruby. Se denne artikkelen for installasjonsinstruksjoner. Hvis du er på Windows, kan du se RubyInstaller for Windows.

Deretter må du installere Rails. For å gjøre det, bør du ha RubyGems installert på datamaskinen din. Hvis du brukte RVM til å installere Ruby, gratulerer, har du det allerede! Hvis du er på Windows, se her. For å installere Rails, kjør perle installasjonsskinner, og, Tada, du er alt satt opp!

Bonuskreditt

rbenv er en stadig mer populær metode for å installere Ruby. Forskning det også.


Oppgave 3 - Start med Jeffres Introduksjon til Rails

I denne 40 minutters skjermbildet lærer Jeffrey Way, Nettuts + redaktørens ekstraordinære, alt du trenger å vite for å begynne å utvikle med Rails.

Ved å følge denne screencast, vil du hente mye informasjon om emner, inkludert:

  • Modeller og generatorer
  • Testdrevet utvikling
  • Active
  • Rspec og Capybara
  • partials
  • ? og mye mer

Oppgave 4 - Ta The Rails For Zombies Course

Jeg har alltid trodd at læring ved eksempel er den beste (og eneste) måten å lære et språk og et rammeverk på. Et gratis og utrolig kurs som du må ta, er Rails For Zombies, fra folkene på EnvyLabs. Det er interaktivt, noe som betyr at etter å ha sett på hver video, vil du jobbe gjennom en håndfull øvelser.


Oppgave 5 - Les en bok

Kjøp Agile Web Development med Rails.

Hittil har hvert verktøy jeg har gitt deg vært gratis og interaktivt. Nå må du kjøpe de Bok om Rails: Agile Web Development med Rails. Det lærer deg Rails ved å bygge et nettsted fra bunnen av. Den går gjennom de aller grunnleggende, skaper kontroller, modeller, stillas og jevn enhet og funksjonell testing, pluss noen AJAX! Husk å kjøpe den nyeste utgaven skjønt!

Bonuskreditt

Her er noen mer populære Rails bøker som du kan vurdere.

  • Ruby on Rails 3 Opplæring: Lær Rails ved Eksempel: Lær deg Rails trinn for trinn, på samme måte som Agile Web Development med Rails gjør.
  • Begynnelse Rails 3: Kind of the same idea, en opplærings-lignende bok.
  • The Rails 3 Way: Denne boken er mer en referanse enn et læringsverktøy, men det anbefales fortsatt.

Oppgave 6 - Bygg en enkel blogg

Jeg vet at det høres kjedelig ut (det gjør det til meg), men det er et godt eksempel og brukes overalt av en grunn: det er enkelt, du kan fullføre den slags opplæringen på under en time, og du lærer det grunnleggende veldig fort. Nå, hvis du leser boken fra oppgave fire, bør du allerede ha nok kunnskap til å bygge noe slikt. Jeg oppfordrer deg til å prøve å bygge en selv, fra minnet, uten å sjekke noen opplæringer om emnet. Du kan sjekke noen metoder, se på hvordan du kan validere noen felt, etc., men ideen er at du må sette din kunnskap til testen.

Bygg en enkel blogg som har støtte for kommentarer. Du trenger ikke å implementere et fancy autentiseringssystem; bare noe enkelt å komme i gang.

Hvis du blir sittende fast?

  • Active Record Query Interface: Grunnleggende og avansert informasjon om Active Record, databasegrensesnittet.
  • Rails Routing From The Outside In: Noen ganger virker ruting litt vanskelig å forstå i Rails. Denne veiledningen bør avklare alt.
  • Ruting i Rails 3: Komplement til veilederen ovenfor, her er en screencast om ruting i Rails 3.

Oppgave 7 - Legg litt kompleksitet til bloggen din

Flott! Du har bygget deg en grunnleggende blogg. Det mangler absolutt noen grunnleggende funksjonalitet man kunne forvente fra en blogging-plattform, men det er en start. La oss legge mer arbeid i det.

Legg til et grunnleggende godkjenningssystem på bloggen din. Dette høres kanskje litt komplisert ut, men jeg vil ikke tvinge deg til å gjøre dette helt alene. Det finnes en rekke verktøy / perler tilgjengelig som gjør jobben enklere, men de er for avanserte for ditt nåværende ferdighetsnivå. I tillegg trenger vi deg til å fortsette å lære de indre arbeidene til en Rails-applikasjon før du stoler på verktøy fra tredjepart.

Se denne screencast av Ryan Bates, hvor han dekker hele prosessen med å lage et grunnleggende autentiseringssystem fra grunnen av. Bruk det på bloggen din og sørg for at du bare kan opprette og redigere innlegg, og slette kommentarer (men pass på at alle kan lage kommentarer!).

Bonuskreditt

  • Form validering er like viktig, og er ikke vanskelig å implementere. Se denne skjermbildet for å gjøre oppgaven enklere.
  • Se denne artikkelen for mer informasjon om modellforeninger i Rails. Du kan bruke teknikkene som er skissert for å legge til tagging på bloggen din.

Oppgave 8 - Opprett noe på egen hånd

Dette er hvor du trenger å bli kreativ. For meg er det godt å lære et språk eller rammeverk ved å følge opplæringsprogrammer. Det første jeg opprettet etter at jeg fullførte prøveapplikasjonsprogrammene mine, var et faktureringsprogram. Jeg fant en enkel designmal online og begynte å jobbe med det. Det tillot meg å bygge noe nyttig og i samsvar med mine behov, mens jeg har faktisk moro!

Hvis du vil følge i mine fotspor, laster du ned nettstedsmeldingsskemaet for Twitter Bootstrap (hvis du ønsker det), slik at du kan bruke mer tidsprogrammering enn å designe, og bygge deg selv en faktureringsapplikasjon. Prøv å inkludere autentisering, klienter, fakturaer (som skal la brukeren bruke rabatt og skatt), og fakturaer (som skal inneholde en beskrivelse, mengde og pris). Dette vil lære deg ulike viktige deler av et Rails-program, som nestede former.

Ressurser for å få deg i gang

  • Nestet modellform Del 1 og 2: Du trenger dette øyeblikket du lager en faktura, siden fakturaelementene vil bli "nestet" inne i fakturaformen. Se videoene for å lære mer.
  • Enkel fakturering App: Dette er faktureringsappen jeg opprettet for å lære Rails. Den er bygget med Rails 3.0.4, men vær så oppmerksom på det. Det kan være nyttig å sjekke modellene, foreningene og JavaScript-filene.

Oppgave 9 - Hold deg oppdatert?

Lære å programmere bra er en uendelig prosess. Det er derfor du bør abonnere på ulike blogger og Twitter-kontoer om emnet. Her er en liste over innflytelsesrike Rails-folk for at du skal følge på Twitter:

  • @dhh: Skaperen av Ruby on Rails. Innlegg innsikt om nye utgivelser og ulike tips.
  • @rbates: Produsent av Railscasts, innleggstips og triks veldig ofte.
  • @rails: Den offisielle Ruby on Rails Twitter-kontoen. Følg dem hvis du vil ha innsikt i utgivelsesdatoer og utvikling.
  • @rails_apps: De legger inn nye Rails eksempel apps ganske ofte, ganske nyttige.

Og her er noen nettsteder du bør abonnere på:

  • Railscasts: Et must! Awesome screencasts om Ruby on Rails, beste praksis, tips, nye edelstener, etc..
  • Asciicasts: Hvis du ikke ser på videoer, etterlikner dette nettstedet Railscasts 'opplæringsprogrammer i tekst. Det er ikke så up-to-date som den første, men det er utmerket.
  • Nettuts +: Selv om vi ikke er 100% fokusert på Ruby and Rails, legger vi inn i dag flere og mer anvendelige innhold!
  • The Rails Way: Cool blogg med ulike artikler og opplæringsprogrammer.
  • Riding Rails: Den offisielle Ruby on Rails bloggen. De legger ikke ut mange tips eller opplæringsprogrammer, men de kunngjør offisielle utgivelser, så det er godt å lese det ofte.
  • Planet Ruby on Rails: En Ruby on Rails bloggenerator. Det er ikke så filtrert som å lese en av bloggene jeg nevnte ovenfor, men det er en god ressurs å sjekke hver gang i et øyeblikk.

Konklusjon

Denne leksjonsplanen gjør deg til en utvikler av Rails på kort tid. Som du finner, Rails er et fantastisk rammeverk, og det fortsetter å bli bedre hvert eneste år. Jeg lærte Rails ved hjelp av de samme verktøyene jeg anbefalte ovenfor; du burde også!

Hvis du har spørsmål, kan du spørre dem i kommentarene eller tweet meg. Og vær så snill å dele opplevelsen din! Fortell oss hvordan du lærte Rails, hvilke verktøy du brukte, og hvordan du bruker den i dag.