Aflați Ruby on Rails de la zero Săptămâna 1

Ruby on Rails ... până acum majoritatea oamenilor au auzit de hype despre asta. Promite codul mai eficient, orientarea obiectului total și adevărata arhitectură MVC. În ceea ce privește propria mea experiență personală, a fost totul și mai mult. Codul este frumos, ușor de întreținut și editat. Într-un proiect recent la care lucram, mi-a luat mai puțin de 10 ore pentru a face cererea, comparativ cu cel puțin dublul că dacă scriam în PHP.

Am auzit o mulțime de dezvoltatori web care cunosc alte limbi, de obicei ASP sau PHP, care doresc să învețe Ruby on Rails, dar nu știu de unde să încep. Din experiența personală, știu că este foarte diferită de PHP. Personal, am învățat Ruby on Rails mai puțin de un an în urmă și am avut puține până la nici o problemă cu acesta până acum. Dacă nu ați făcut deja acest lucru, vă recomand să vă îmbogățiți la bordul web-ului Ruby on Rails!

Declarația de misiune

În această serie de tutoriale, sper să vă duc să nu știți nimic despre Ruby on Rails (dacă este adevărat), să fiți capabil să scrieți aplicații web pe deplin prezente în el. Îmi amintesc cum a fost să învăț. Nu am putut găsi nici o serie de tutoriale care să vă treacă prin toate elementele esențiale în limbajul englez și într-un ordin care mi-a fost benefic, cursantul. Deși există resurse foarte bune acolo, acestea trebuie combinate și cu altele. În partea de jos a acestui tutorial, de asemenea, voi lista resursele pe care le-am găsit utile și în trecut.

Această serie va fi similară seriei PHP de la zgârieturi, dar cu Ruby on Rails. Va fi una publicată în fiecare săptămână, progresând treptat.

Acest tutorial

Vă avertizez că acest prim tutorial ar putea fi puțin uscat, dar este necesar pentru învățarea RoR (să zicem asta de acum încolo!). În această săptămână, vom include acoperirea cadrului și serverului web, precum și modul în care funcționează cadrul. Vom stabili fundația necesară pentru învățarea RoR. Acesta este locul unde mulți dezvoltatori web care doresc să învețe RoR fail.I promitem că vom face mult mai multe lucruri interesante data viitoare!

Ce este Ruby?

Rubia este limbajul pe care se extind șinele cadru. Este foarte orientat spre obiect. Sintaxa este inspirată de Perl, și, prin urmare, este foarte asemănătoare. Este, de asemenea, similar cu Python, Lisp, Dylan și CLU. Pentru a cita Wikipedia:

 "Ruby a fost conceput pe 24 februarie 1993 de Yukihiro Matsumoto, care a dorit să creeze o nouă limbă care să echilibreze programarea funcțională cu programare imperativă. Potrivit lui Matsumoto, el dorea un limbaj de scripting mai puternic decât Perl și mai mult orientat spre obiect decât Python . De aceea am decis să-mi proiectez propria limbă "."

Acesta a fost cel mai popular în Japonia, care este până când Rails cadru a ieșit. De atunci, a continuat să crească la o rată fenomenală peste tot.

Ce este Rails?

Rails este faimosul cadru care funcționează în afara rubinului. Baza de utilizatori este în continuă creștere. Dezvoltat de David Heinemeier Hansson de 37 de imagini pentru basecamp, a fost lansat ca open source în iulie 2004. Acesta utilizează arhitectura MVC (Model - View - Controller). Dacă doriți o pensulă pe MVC, asigurați-vă că verificați MVC tutorial. Ultima versiune este 2.1.0. Au fost unele schimbări semnificative în v2. Aceasta include faimoasa caracteristică de schelă a lui v1. Sa schimbat puțin în versiunea 2.

Concepte ale Ruby on Rails

Ruby on Rails urmează câteva principii pentru a vă ajuta să păstrați codul elegant și curat. Ar trebui să încercați să trăiți după aceste principii în timp ce lucrați cu RoR pentru a obține cât mai mult din ele. Pentru unul, urmează termenul de programare Agile DRY (Nu vă repetați). Evident, acest lucru înseamnă că scrieți doar codul dvs. o dată într-un anumit loc consistent. De exemplu, dacă aveți nevoie de cod pentru a face un anumit lucru, atunci îl veți pune într-un anumit loc de fiecare dată.

Al doilea concept pe care îl urmează RoR este CoC (Convenții asupra configurației).Acest lucru înseamnă că ruby ​​presupune mult și explică majoritatea defecțiunilor automate pe care le veți vedea rubinul pentru noi. În loc să vă configurați întotdeauna totul, în fiecare proiect, rubinul o va face automat. Apoi, dacă doriți să faceți ceva neconvențional, pur și simplu eliminați valorile implicite pe care RoR le are deja în vigoare. cod trebuie să fie scris.

Avantajele învățării Ruby on Rails:

  • Este destul de ușor de învățat în comparație cu alte limbi
  • Obiect complet orientat
  • Arhitectura MVC
  • Nu trebuie să scrieți atât de mult cod
  • Foarte extensibil
  • Sursa deschisa
  • Comunitatea este extrem de utilă pentru a răspunde la întrebări
  • În ciuda faptului că este un cadru relativ nou, este destul de bine prezentat și are foarte puține bug-uri.

Dezavantajele Ruby:

  • Procesat diferit, astfel încât codul poate fi un pic mai lent pe serverele care nu sunt construite cu adevărat pentru a gestiona codul ruby

Am auzit doar această afirmație, dar tot mai multe servere devin din ce în ce mai bine echipate pentru Rails, deoarece continuă să crească oricum, astfel încât devine din ce în ce mai puțin o problemă.

Un fișier Ruby

Un fișier ruby ​​are extensia .rb. Aceste fișiere nu conțin, de obicei, nici un cod HTML. Acesta este un fragment dintr-un fișier rubin (în mod special un controler) de la un motor de joc pe care l-am făcut recent. Așa cum ați putea vedea. Trage datele dintr-o bază de date și listă jocurile în funcție de categoria și titlul variabilelor:

clasa GameController < ApplicationController def game_list
@title = '3'
@category = 'Acțiune'
@ jocuri = Game.find (: toate,
: condiții => ["titlu LIKE? ȘI categorie =?", "%" + titlu + '%', categorie],
: order => 'titlu, categoria ASC',
: limită => 5,: offset => 0)
sfârșitul final

Un fișier Ruby încorporat

Ca multe alte limbi de web, Rails vă permite să încorporați ruby ​​cu HTML. Seki Masatoshi a scris un program numit ERb, embedded ruby, care scanează toate fișierele .rhtml (fișiere rubinite încorporate), până când se întâlnește fie <% Ruby Code that is only processed -%> sau <%= Ruby Code that is then outputted %>. Apoi, procesează codul rubin și umple gol dacă este necesar.

Iată un exemplu de Embedded Ruby:

<% title = "Nettuts" %>
<% header_text = "Ruby on Rails Tutorial" %>


<%= title %>


<%= header_text %>


Acesta este un exemplu de pagină .rhtml.



Acesta este modul în care utilizatorul îl va obține:

 

Nettuts


Ruby on Rails Tutorial


Acesta este un exemplu de pagină .rhtml.




Instalarea Ruby on Rails Pentru Windows

Utilizatorii Windows și OSX sunt amândoi foarte norocoși. Ambele sisteme de operare obtin un program de instalare / manager all-in-one care instaleaza rubin, rails si server.Pentru ferestre, aveti optiunea Instant Rails. Accesați http://instantrails.rubyforge.org/wiki/wiki.pl pentru al descărca. Eu personal am folosit acest lucru și nu am avut probleme majore cu asta. Încredere-mă, este mult mai ușor să faci acest lucru, apoi instalezi totul separat.

Faceți clic pe descărcare pentru a obține instantanee.

Când faceți clic pe descărcare, veți fi redirecționat la rubyforge.org. Acolo puteți alege cea mai recentă versiune. La momentul acestei scrieri, 2.0 a fost ultima. De asemenea, la momentul acestei scrieri, o mulțime de gazde populare care au acceptat ruby, au acceptat numai versiunea 1.8.x. Există diferențe considerabile între versiunile 1 și 2. Deci, este la latitudinea dvs. ce versiune doriți să instalați. În acest tutorial voi descărca versiunea 2.0.

Acum că este descărcat, extrageți-l într-un director care nu conține spații.

Instalarea Ruby pe Rails Pentru alte sisteme de operare

OSX are, de asemenea, norocul de a avea un manager Ruby on Rails, locomotivă. Pentru OSX și alte sisteme de operare, puteți găsi o resursă foarte bună la wiki-ul Ruby on Rail.

Noțiuni de bază cu Cadrul

De acum încolo, voi folosi Instant Rails. Nu este foarte diferit de oricare alt set, așa că, dacă folosiți o altă tehnică, ar trebui să puteți continua cu ușurință. Dacă întâmpinați probleme, asigurați-vă că vă informați în comentariile și / sau verificați resursele.

Deci, acum că aveți toate fișierele necesare pentru configurarea dvs. Începeți-l! Pentru ferestre, mergeți la directorul pe care l-ați pus Instant Rails și rulați InstantRails.exe. Probabil veți primi acest mesaj, dar pentru directorul dvs., pe care îl puteți apăsa "da" pentru:

Acum, când Instant Rails rulează, puteți face mai multe lucruri. În acest moment, trebuie doar să puteți:

- Deschideți o fereastră de consolă

-Creați un nou proiect.

- Porniți serverul pentru un proiect curent

Vom trece fiecare acțiune separat.

Deschideți o fereastră de consolă

1) Faceți clic pe pictograma din stânga sus:

2) Mergeți la "Rails Applications"> "Open Window Console Ruby"

3) Acum avem o fereastră de consolă deschisă. Aici puteți face multe lucruri în rubin, cum ar fi generarea de noi proiecte, controlori și alte sarcini pe care le vom acoperi ulterior. Acum vom folosi acest Fereastră de consolă pentru a crea o nouă aplicație.

Crearea unei noi aplicații

1) Acum vom introduce "nettuts rail", unde nettuts este numele aplicației dvs. Alegeți cu atenție numele, pe măsură ce îl veți folosi pentru restul aplicației. Din moment ce nu facem cu adevărat nimic special, vom alege doar nettut-urile ca numele nostru:

2) Acum va genera toate fișierele necesare pentru aplicație. Acestea sunt fișierele pe care cadrul le folosește și le necesită. Acesta va ajuta la furnizarea CoC (Convenții asupra configurației).

3) Acum avem o aplicație Ruby on Rails generată!

Rularea unei aplicații

1) Pentru a rula aplicația noastră, trebuie să mergem la Instant Rails și să dăm din nou clic pe pictogramă:

2) Apoi vom merge la "Rails Applications"> "Gestionați aplicațiile Rails ..."

2) Puteți vedea navele Instant Rails cu două proiecte deja. Cartea de bucate este un demo destul de curat de ceea ce puteți face cu ușurință cu Rails. Vă încurajez foarte mult să verificați. Și apoi, după ce ați învățat ceva mai mult despre Rails, verificați codul sursă. Veți fi surprins de simplitate! Oricum, bifați caseta de lângă nettuts și faceți clic pe "Start with Mongrel". Paravanul dvs. de protecție ar putea obiecta, dar permiteți-l. O fereastră de consolă ar trebui să fie afișată cu numărul portului și alte informații utile:

Deci, în cazul meu (și probabil și al dvs.), putem vedea aplicația noastră la portul 3000. Deci, navigați doar la 127.0.0.1:3000 și ar trebui să obțineți această pagină implicită Rails (plus bara laterală la dreapta):

Acum putem începe să ne construim aplicația!

Cum funcționează cadrul

Arhitectura MVC

Rails rulează de la MVC Architecture. Practic asta înseamnă că ne distrugem codul în trei secțiuni; modelul, vizualizarea și controlerul. Dacă doriți să aflați mai multe despre MVC Architecture, asigurați-vă că vizitați tutorialul de introducere MVC Nettuts. În acest intro la Ruby on Rails, vom acoperi doar elementele de bază ale controlorului:

Controlerul

Controlorul va fi calea după urlul principal. De exemplu, dacă avem un controler denumit "învăța", ar reprezenta yoursite.com/learn sau local 127.0.0.1:3000/learn . Fiecare controler se bazează pe multe fișiere specifice, de aceea pentru a crea un controler, trebuie să îl generați prin consola. Acum vom crea un nou controlor, învățați:

1) În primul rând, deschidem o fereastră de consolă prin Instant Rails sau pe orice setare pe care o utilizați.

2) Apoi navigați la aplicația curentă. Deoarece suntem în prezent la un nivel peste cererea noastră, tastăm "cd nettuts" (schimbați directorul la nettuts).

3) Acum că suntem în aplicație, trebuie să accesăm un script care va genera controlerul. Dacă examinați structura fișierului aplicației, veți observa că există un dosar de script. Și în interiorul directorului de script există un fișier generat. Trebuie să țintim acest lucru și să îl executăm.

4) Îl vom direcționa prin consola. Observați și celelalte scripturi, toate au scopul. Oricum, în fereastra de tip "ruby script / genera controler învăța" pentru a genera un controler numit învăța. Dacă îmi amintesc bine, nu aveți nevoie de rubin în alte sisteme de operare. Consola va genera acum câteva fișiere. Verificați-le într-o fereastră de explorare, dacă doriți. Cele două fișiere importante sunt controlerul învățat, care a fost doar unul din mai multe fișiere create; dar observați, de asemenea, că a fost creată și o viziune denumită învățare. Acestea sunt sensibile că șinele sunt livrate pentru a limita cantitatea de muncă implicată.

Deci, cum funcționează un controler?

Să o luăm pas cu pas.

-Utilizatorii solicită site-ul dvs. /

-Rails arată automat în directorul servere pentru app / learn_controller

-Rails scanează fișierul .rb pentru definirea unui fișier index

-Rails face ceea ce definiția spune să facă, și în cele din urmă creează sau redirecționează spre o vedere.

-Această vizualizare (învățați) este apoi trimisă înapoi utilizatorului.

Nu vă faceți griji dacă acest lucru nu are sens. Următorul tutorial va fi în detaliu în controlere. Pentru moment, trebuie doar să fii familiarizat cu modul de creare a unui controlor și să existe.

Resurse

  • Lynda.com: Instruire esențială Ruby on Rails

    Ruby on Rails vizează simplificarea creării de aplicații web. În Ruby on Rails Instruire esențială, expert instructor Kevin Skoglund se concentrează asupra aceluiași scop. Kevin explică procesul complet - de la înțelegerea conceptelor fundamentale din spatele oricărui proiect Ruby on Rails la crearea unor aplicații complete, ușor de întreținut, utilizând cadrul Ruby on Rails.

    Vizitați articolul

  • Tutorialul Point Ruby on Rails Series

    Aceasta este o serie incredibilă de tutorial Ruby on Rails, care acoperă foarte mult, dar uneori este greu de urmat.

    Vizitați articolul

  • Ruby on Rails

    Acesta este site-ul oficial al lui Rail. Dacă doriți să vă bucurați de Rails, mergeți aici! Aici puteți descărca cea mai nouă versiune, puteți obține cele mai recente știri și puteți găsi alte resurse pentru a învăța Rails.

    Vizitați articolul

  • Rails Wiki

    Aceasta este o altă mare resursă. Odată ce deveniți următorul ninja Rails, s-ar putea chiar să fiți obligat să editați unele informații aici!

    Vizitați articolul

Asigurați-vă că ați verificat cât mai multe dintre aceste resurse înainte de următorul tutorial.

Săptămâna următoare și cuvinte finale

Ei bine, sper că ați reușit să supraviețuiți prin toate aceste informații. Crede-mă, vei fi bucuroasă că ai făcut-o. Asigurați-vă că înțelegeți în totalitate acest tutorial. Pe măsură ce vom continua, majoritatea întrebărilor dvs. vor fi răspunse și veți începe să vă simțiți mai "luminat", cu privire la ceea ce este Rails. Și promit săptămâna viitoare va fi mai distractiv! Săptămâna viitoare vom acoperi un pic mai mult din cadru și vom începe să ajungem în sintaxa rubinică și puțin mai mult din ceea ce puteți face cu șinele. Dacă acest tutorial te-a ajutat, te rog Digg!

  • Abonați-vă la fluxul RSS NETTUTS pentru mai multe tutori și articole zilnice de dezvoltare web.


Cod