Det bästa sättet att lära Ruby on Rails

Jag kommer från en PHP-bakgrund, men dessa dagar är jag en full-time Rails-utvecklare. Svårigheten för de flesta som gör omkopplaren ligger i den inlärningskurva som är inblandad. När du väl har blivit skicklig i ett språk eller ram, känns det som om det är onödigt (och tidskrävande) utmaning att byta till en ny.

Det är dock ganska lätt att lära Ruby and Rails! Det är en oerhört kraftfull ram, och har ett stort samhälle som driver med det. Så det frågar frågan: Vad är det bästa sättet att lära sig Rails? Här är en lektionsplan.

Den här artikeln beskriver en fullständig lektionsplan som får dig igång på nolltid! Följ varje uppdrag nedan i ordning.


Uppgift 1 - Arbeta genom "Try Ruby" övningar

Du kanske tror att Ruby är det viktigaste steget, och det här är förmodligen den del där alla slutar lära sig och bara pinnar med sina nuvarande ramar. Gör inte det! Var inte rädd för att lära sig detta språk (eller något språk, egentligen). Ruby är ett roligt, vackert och lättläst språk. Dessutom behöver du inte riktigt dominera språket 100% för att kunna lära sig Rails. Du behöver bara grunderna att börja.

Arbeta genom Try Ruby övningarna.

Det mest rekommenderade verktyget för dipping i Rubys syntax är Try Rubys webbplats. Det ger dig ett interaktivt, webbaserat skal för att spela med språket. Om du skriver hjälp, du kommer att hälsas med en interaktiv 15 minuters handledning som lär dig de grundläggande grunderna i språket. Skriver hjälp 2 tar dig till det andra kapitlet i handledningen.

När du har arbetat igenom dessa övningar ett par gånger har du en solid bas. Personligen fullbordar de två handledningarna allt jag gjorde i början. Resten jag har lärt mig genom att skapa webbplatser med Rails, Googling och spela i IRB.


Uppgift 2 - Installera Ruby And Ruby on Rails

Springa pärla installationsskenor att installera Rails.

Om du vill lära dig Rails behöver du självklart installera den på din maskin. Det finns flera sätt att göra detta, beroende på din plattform. Om du är på en Mac eller en Linux-baserad dator rekommenderar jag att du använder RVM. Det är ett bra verktyg för att installera Ruby. Se den här artikeln för installationsanvisningar. Om du är på Windows, se RubyInstaller for Windows.

Därefter måste du installera Rails. För att göra det borde du ha RubyGems installerade på din dator. Om du använde RVM för att installera Ruby, grattis, har du det redan! Om du är på Windows, hänvisa här. För att installera Rails, kör pärla installationsskenor, och, Tada, du är upptagen!

Bonuskredit

rbenv är en annan alltmer populär metod för att installera Ruby. Forskning som också.


Uppgift 3 - Börja med Jeffres Introduktion till Rails

I den här 40-minuters skärmbilden lär Jeffrey Way, Webuts + redaktörens extraordinaire, allt du behöver veta för att börja utveckla med Rails.

Genom att följa denna skärmdump kommer du hämta mycket information om ämnen, inklusive:

  • Modeller och generatorer
  • Testdriven utveckling
  • Active
  • Rspec och Capybara
  • Partials
  • ? och mycket mer

Uppgift 4 - Ta Rails För Zombies Course

Jag har alltid trott att lärande genom exempel är det bästa (och enda) sättet att lära sig ett språk och en ram. En fri och otrolig kurs som du måste ta är Rails For Zombies, från folk på EnvyLabs. Det är interaktivt, vilket betyder att du kommer att arbeta genom en handfull övningar efter att ha tittat på varje video.


Uppgift 5 - Läs en bok

Köp Agile Web Development med Rails.

Hittills har varje verktyg jag har gett dig varit gratis och interaktivt. Nu måste du köpa de Boka på Rails: Agile Web Development med Rails. Det lär dig Rails genom att bygga en webbplats från början. Det går igenom de allra flesta grunderna, skapar styrenheter, modeller, ställningar och jämn enhet och funktionell testning, plus några AJAX! Var noga med att köpa den senaste utgåvan dock!

Bonuskredit

Här är några mer populära Rails-böcker som du kan tänka dig.

  • Ruby on Rails 3 Handledning: Läs Rails genom Exempel: Lär dig Rails steg för steg, på samma sätt Agile Web Development med Rails gör.
  • Början Rails 3: Typ av samma idé, en handledning-liknande bok.
  • Rails 3 Way: Den här boken är mer en referens än ett inlärningsverktyg, men det rekommenderas fortfarande.

Uppgift 6 - Bygg en enkel blogg

Jag vet att det låter tråkigt (det gör det för mig), men det är ett bra exempel och används överallt av en anledning: det är enkelt, du kan avsluta den här typen av handledning på under en timme, och du lär dig grunderna väldigt snabbt. Nu, om du läser boken från uppgift fyra, borde du redan ha tillräckligt med kunskap om att bygga något så här. Jag uppmuntrar dig att försöka bygga en själv, från minnet, utan att kontrollera några handledningar om ämnet. Du kan kontrollera några metoder, titta på hur man validerar vissa fält etc. men tanken är att du måste lägga din kunskap i provet.

Bygg en enkel blogg som har stöd för kommentarer. Du behöver inte implementera ett fancy autentiseringssystem; bara något enkelt att komma igång.

Om du blir fast?

  • Active Record Query Interface: Grundläggande och avancerad information om Active Record, databasgränssnittet.
  • Rails Routing from the Outside In: Ibland är routing lite svår att förstå i Rails. Denna guide bör klargöra allt.
  • Routing in Rails 3: Kompletterande guiden ovan, här är en skärmdump om routing i Rails 3.

Uppgift 7 - Lägg till lite komplexitet i din blogg

Bra! Du har byggt dig en grundläggande blogg. Det saknar viss grundläggande funktionalitet man förväntar sig från en bloggplattform, men det är en början. Låt oss lägga mer arbete i det.

Lägg till ett grundläggande autentiseringssystem på din blogg. Det här låter lite komplicerat, men jag kommer inte tvinga dig att göra det helt självständigt. Det finns ett antal verktyg / pärlor tillgängliga som gör jobbet mycket enklare, men de är för avancerade för din nuvarande kompetensnivå. Dessutom behöver vi dig att fortsätta att lära känna en Rails applikation innan du använder sig av verktyg från tredje part.

Titta på denna screencast av Ryan Bates, där han täcker hela processen med att skapa ett grundläggande autentiseringssystem från början. Applicera det på din blogg och se till att du bara kan skapa och redigera inlägg och radera kommentarer (men se till att alla kan skapa kommentarer!).

Bonuskredit

  • Formvalidering är lika viktigt och är inte svårt att genomföra. Hänvisa till denna screencast för att göra uppgiften enklare.
  • Mer information om modellföreningar i Rails finns i denna artikel. Du kan använda de tekniker som skisseras för att lägga till märkning på din blogg.

Uppgift 8 - Skapa något på egen hand

Det är här du behöver bli kreativ. För mig är det bra att lära mig ett språk eller ett ramverk genom att följa självstudierna. Det första jag skapade efter att jag slutförde mina bloggbloggar var ett faktureringsprogram. Jag hittade en enkel designmall online och började arbeta med det. Det gjorde att jag kunde bygga något användbart och enligt mina behov, samtidigt som jag hade riktigt kul!

Om du vill följa i mina fotspår, ladda ner webbplatskabeln för Twitter Bootstrap (om du vill), så att du kan spendera mer tidsprogrammering än att designa, och bygga själv en faktureringsapplikation. Försök att inkludera autentisering, klienter, fakturor (som ska låta användaren göra en rabatt och skatter) och fakturera objekt (som ska innehålla en beskrivning, kvantitet och pris). Detta kommer att lära dig olika viktiga delar av en Rails-applikation, såsom kapslade former.

Resurser för att få dig igång

  • Nested Model Form One och Two: Du behöver detta när du skapar en faktura, eftersom fakturaposter kommer att vara nestade i fakturaformen. Titta på videon för att lära dig mer.
  • Enkel fakturering App: Det här är den faktureringsapp jag skapade för att lära mig Rails. Det är byggt med Rails 3.0.4, men håll det i åtanke. Det kan vara praktiskt att kontrollera modeller, föreningar och JavaScript-filer.

Uppgift 9 - Håll dig uppdaterad?

Att lära sig att programmera bra är en oändlig process. Det är därför du borde prenumerera på olika bloggar och Twitter-konton om ämnet. Här är en lista över inflytelserika Rails-personer för att du ska följa på Twitter:

  • @ dhh: Skaparen av Ruby on Rails. Inlägg inblick i nya utgåvor och olika tips.
  • @rbates: Producent av Railscasts, postar tips och tricks mycket ofta.
  • @rails: Den officiella Ruby on Rails Twitter-kontot. Följ dem om du vill ha insikt om release datum och utveckling.
  • @rails_apps: De lägger ut nya Rails-exempel apps ganska ofta, ganska användbara.

Och här är några webbplatser du borde prenumerera på:

  • Railscasts: Ett måste! Fantastiska screencasts om Ruby on Rails, bästa praxis, tips, nya pärlor, etc..
  • Asciicasts: Om du inte är med på att titta på videor, härmerar den här sidan Railscasts tutorials i text. Det är inte så aktuellt som det första, men det är utmärkt.
  • Nettuts +: Medan vi inte är 100% inriktade på Ruby and Rails lägger vi ut mer och mer tillämpligt innehåll dessa dagar!
  • The Rails Way: Cool blogg med olika artiklar och handledning.
  • Riding Rails: Den officiella Ruby on Rails blogg. De lägger inte in många tips eller handledningar, men de meddelar officiella utgåvor, så det är bra att läsa det ofta.
  • Planet Ruby on Rails: En Ruby on Rails bloggaggregatör. Det är inte så filtrerat som att läsa en av de bloggar jag listade ovan, men det är en bra resurs att kontrollera varje gång i taget.

Slutsats

Denna lektionsplan kommer att göra dig till en Rails-utvecklare på nolltid. Som du hittar är Rails en fantastisk ram, och det fortsätter att bli bättre varje år. Jag lärde mig Rails med samma verktyg som jag rekommenderade ovan; du borde också!

Om du har några frågor, tveka att fråga dem i kommentarerna eller tweet mig. Och gärna dela med dig av din upplevelse! Berätta för oss hur du lärde dig Rails, vilka verktyg du använde och hur du använder det idag.