Ruby on Rails pentru designeri

Ruby on Rails este un cadru open-source web care este optimizat pentru fericirea programatorilor și productivitate durabilă. Acesta vă permite să scrieți un cod frumos favorizând convenția asupra configurației.

Acesta este modul în care Ruby on Rails se promovează - dar, în cuvintele mele, este un cadru incredibil care vă poate face într-adevăr mult mai ușor viața. Puteți afla mai multe la site-ul lor http://rubyonrails.org

Pasul 1- Instalarea Ruby pe șine

Instalarea Ruby on Rails (de asemenea, adesea redusă la RoR) este destul de nedureroasă în majoritatea sistemelor, dar va trebui să vă simțiți confortabil în deschiderea terminalului. Pagina de descărcare Ruby on Rails oferă link-uri pentru a începe și eu le voi reproduce aici pentru a vă salva puțin timp. Ca o notă, acestea sunt locurile pentru a obține Ruby, ceea ce este programat în Rails și vom instala Rails într-un minut. Pentru a afla mai multe despre limbă, consultați site-ul Ruby

  • ferestre: One-Click Ruby Installer (Vă recomandăm să utilizați versiunea finală 1.8.6-26)
  • Mac OS X 10.4: Navele cu Ruby rupt, dar poți urma ghidul uimitor de Dan Benjamin
  • Mac OS X 10.5: Dacă instalați Instrumentele de dezvoltare de la Apple, veți fi setați. Încercați fie discurile de instalare sau site-ul pentru dezvoltatori de la Apple și descărcați Xcode
  • Linux: În timp ce acest lucru poate varia pentru fiecare distribuție, va trebui să instalați ruby, irb, & rdoc

Acum că am descărcat Ruby, asigurați-vă că aveți RubyGems, care este un manager de pachete pentru Ruby.

Pentru a testa dacă aveți RubyGems, executați următoarele în terminal:

gem -v

De la această scriere, 1.3.2 este ultima versiune. Pentru a actualiza dacă nu aveți cea mai recentă versiune, executați următoarele, iar dacă sunteți pe un Mac, puneți sudo în față.

gem update - sistem

Dacă nu veți folosi RubyGems, urmați acești pași:

  1. Descărcați cea mai recentă versiune de RubyGems aici.
  2. Extrageți pachetul
  3. Schimbați în directorul din terminalul dvs. (cd este comanda)
  4. Rulați acest lucru în terminal: ruby ​​setup.rb (adăugați sudo în fața comenzii pentru utilizatorii Linux și Mac OS X, va trebui, de asemenea, să continuați că pentru toate comenzile de instalare a bijuteriei)

Dacă aveți un sistem Linux, ar trebui să puteți instala RubyGems prin managerul de pachete, dar prefer metoda de mai sus. Dacă aveți alte probleme, consultați documentația de instalare de pe site-ul RubyGems.

Instalarea railselor

Acum că avem cea mai recentă versiune a RubyGems, să instalați Rails:

bijuterii de instalare bijuterie

Va dura câteva minute pentru a instala Rails și toate "dependențele sale".

Pasul 2 - Crearea unei aplicații

Deci acum că avem Ruby, RubyGems și Rails instalate, hai să creăm un proiect! Pentru a crea un nou proiect, veți folosi comanda Rails pentru a crea noi proiecte. Vom crea un proiect simplu numit "blog". Notă: Acest lucru va crea dosarul aplicației din directorul curent în care vă aflați, deci asigurați-vă că vă schimbați în directorul în care doriți să fie stocată aplicația.

rails blog

Ar trebui să vedeți ceva de genul asta:

Apoi, deschideți proiectul în editorul de text / IDE preferat. Eu personal iubesc TextMate, în timp ce numai pentru Mac OS X, există și câteva clone care sunt de asemenea disponibile.

Structura folderului

Structura folderului unui Ruby on Rails va arata similar cu urmatoarele:

Există trei dosare pe care orice dezvoltator sau designer va trebui să le lucreze zilnic: aplicația, config și dosarele publice. Consultați scurtele explicații pentru fiecare dintre folderele:

  • app: Aici locuiește logica aplicației.
    • controlere: Aici Rails se uită la clasele de controlor. Pe scurt, acestea primesc cererile.
    • ajutoare: Ajutorii trăiesc în acest director și ajută controlorii, modelele și vizualizările
    • modele: Fiecare dintre acestea reprezintă practic un tabel din baza de date, astfel încât găsirea informațiilor și setarea aplicației dvs. este moartă
    • vizualizari: ceea ce vede utilizatorul
      • aspecte: acestea sunt fiecare dintre aspectele pe care le puteți defini un controler de utilizat. Face template-ul foarte ușor.
      • toate celelalte: În timp ce în aplicația noastră nu avem în prezent nici unul, fiecare dintre celelalte foldere care vor fi în acest dosar reprezintă și se raportează înapoi la controlere, iar fișierele care vor fi aici corespund acțiunilor din controler
  • config: Acest dosar conține toate setările aplicației. Unele fișiere specifice:
    • database.yml: Acest fișier conține setările bazei dvs. de date
    • environment.rb: Acest fișier conține setările Rails pentru aplicația dvs.
    • environements /: Acest dosar conține setările de configurare pentru fiecare dintre mediile specifice: dezvoltare, testare și producție
    • routes.rb: Acest fișier conține setările pentru schema de adrese URL, precum și adresa URL specifică și unde trebuie trimise solicitările
  • db: Acest dosar va sfârși prin menținerea bazei dvs. de date (dacă utilizați sqllite), schema bazei de date și toate migrațiile de bază de date (modificări ale structurii)
  • doc: Acest dosar va conține toată documentația generată de rake doc: app
  • lib: Fișierele de aici conțin cod specific aplicației care nu aparține controlerelor dvs..
  • Buturuga: Rails stochează jurnalele aici, patru dintre ele. Unul pentru chestii specifice serverului în server.log și unul pentru fiecare mediu.
  • public: Acest dosar conține toate fișierele care nu se modifică la fel de mult. Rails își caută fișiere înainte de a încerca să meargă la un controlor. Javascript-urile sunt stocate în folderul javascripts, imagini din folderul de imagini și foi de stil în dosarul stiluri. Fișierele statice precum robots.txt și alte fișiere html pot fi de asemenea stocate aici. Asigurați-vă că ștergeți fișierul index.html deoarece acesta va apărea în loc de ceea ce doriți!
  • script: Aceste scripturi vă fac viața mult mai ușoară. Scenariul serverului lansează serverul de dezvoltare pentru dezvoltare, iar generarea generează cod.
  • Test: Testele pe care le scrieți și cele pe care le creează Rails pentru tine sunt stocate aici.
  • tmp: Rails stochează toate fișierele temporare aici.
  • furnizor: Aici puteți instala orice pluginuri Rails (sau biblioteci) realizate de terți care nu sunt implicit implicați în distribuția Rails.

Pasul 3 - Obținerea mâinilor murdare

În timp ce scopul acestui tutorial nu este de a crea o aplicație, vom face un pic de programare. Să creați mai întâi un controler numit articole: (Asigurați-vă că ați schimbat în rădăcina aplicației Rails)

script / generate articole de controler

Acum, deschideți dosarul și ar trebui să vedeți acest lucru:

clasa ArticoleController < ApplicationController end 

Tot acest cod spune că definim o nouă clasă numită ArticlesController care moștenește de la o altă clasă numită ApplicationController. Acum, vom crea o acțiune (denumită în mod strict Ruby), așa că atunci când mergi la http: // localhost: 3000 / articles / vei fi arătat ceva. Modificați codul astfel încât să pară:

clasa ArticoleController < ApplicationController def index end end

Acum că avem o acțiune, accesați dosarul Aplicații / Vizualizări. Vom crea o vizualizare astfel încât atunci când un utilizator cere această adresă URL, ei văd ceva. S-ar putea să fi observat că există un nou dosar în aici numit articole; acest dosar a fost creat când am generat controlerul. Deci, faceți un nou fișier în folderul articole numit index.html.erb. Puteți întreba despre sfârșit, html se referă la tipul de fișier, iar erb-ul se referă la Ruby încorporat ca motor templating. Eu personal prefer rhtml deoarece este un singur sfarsit, dar care va fi depreciat in Rails 3, care este planificat sa fie lansat la RailsConf in aceasta vara. Puneți-l în noul fișier:

Acum este momentul <%= Time.now %>

Etichetele vă pot intriga. Această etichetă este menită astfel încât Ruby să explice rezultatele codului Ruby închis. Deci, acest cod va imprima ora acum. Celălalt etichetă pe care o veți folosi în Rails este pur și simplu <%- -%>. Această etichetă este destinată codului Ruby care nu generează nimic, de exemplu atunci când se repetă prin elemente dintr-un matrice.

Acum vom crea un aspect pentru a face acest text frumos. Deci, creați un fișier în directorul de vizualizări / planificări numit application.html.erb cu următoarele în el:

   <%= h(@title) %> <%= stylesheet_link_tag 'application' %> <%= javascript_include_tag 'prototype' %> <%= yield(:head) %>   
<%- flash.each do |name, msg| -%> <%= content_tag :div, msg, :id => "flash _ # name"%> <%- end -%> <%= yield %>

Mai întâi, înainte de a explic codul, vreau să știi de ce am numit fișierul application.html.erb. Rails va încărca automat acest aspect de fiecare dată, dacă nu este specificat altfel. Dacă ați numit acest aspect "layout", atunci ar fi trebuit să adăugați aspectul: aspect în partea de sus a controlerului. Acest bloc de cod are câteva tidbits importante pe care le veți dori să le cunoașteți atunci când dezvoltați machete.

  • <%= stylesheet_link_tag 'application' %>: Această etichetă generează eticheta de includere CSS pentru fișierul CSS numit application.css
  • <%= javascript_include_tag 'prototype' %>: Această etichetă generează eticheta de includere Javascript pentru biblioteca javascript Prototype. Prototype este biblioteca implicită javascript care vine cu Rails. Puteți, de asemenea, pune: implicite (nu în citate singulare) în loc de doar prototip și Rails va încărca toate defaults,: toate ar încărca toate fișierele în folderul public / javascripts.
  • <%- flash.each do |name, msg| -%>: Acest cod și codul din bloc înseamnă că, pentru fiecare element din matricea flash, acesta va afișa un mesaj către utilizator.
  • <%= yield %>: Aceasta afișează toate informațiile din vizualizarea individuală și iese în interiorul șablonului și trimite acest lucru utilizatorului.

Acum, să creăm un fișier CSS rapid, numit application.css în public / stylesheets, și să punem următoarele în el:

corp fundal-culoare: # 111; font-familie: Verdana, Helvetica, Arial; font-size: 14px;  #container width: 75%; marja: 0 auto; fundal-culoare: #FFF; padding: 10px; frontieră: solid 5px # 999; margin-top: 20px; 

Acum, avem o aplicație foarte simplă pentru afișarea timpului curent; sperăm că ar trebui să fiți mai familiarizați cu elementele de bază ale Rails.

Pasul 4 - Finalizarea

S-ar putea să te gândești: "Este bine și totul, dar cum văd produsul final?" Există o comandă terminal pe care trebuie să o executați în timp ce se află în baza aplicației Rails pentru a porni serverul de dezvoltare locală. script / server va porni serverul, în mod normal pe portul 3000. Rulați comanda și indicați browser-ul dvs. la http://127.0.0.1:3000/articles. Ar trebui să vedeți următoarele:

Pentru a opri serverul, selectați fereastra terminalului și Control-C. Acest lucru va opri serverul de dezvoltare. Ca o notă, asigurați-vă că nu rulați niciodată un server de producție în acest fel.

Există un ultim lucru pe care aș vrea să vă arăt. După cum am spus mai devreme, fișierul config / routes.rb gestionează unde se duc cererile. Deschideți fișierul; vom face acest lucru atunci când veți merge la http://127.0.0.1:3000/, veți vedea același lucru ca înainte. Găsiți linia "# Puteți avea rădăcina site-ului dvs. rutată cu map.root - nu uitați să ștergeți public / index.html." Sub această secțiune, adăugați următoarele:

map.root: controller => "articole"

Salvați fișierul și asigurați-vă că reporniți serverul web. Va trebui întotdeauna să reporniți serverul de fiecare dată când creați un nou model și să modificați alte fișiere pe care Rails le stochează în memorie pentru a accelera serverul. Asigurați-vă că ștergeți public / index.html sau pur și simplu redenumiți-o. Asigurați-vă că serverul este pornit și mergeți la http://127.0.0.1:3000. Ar trebui să vedeți același lucru.

Concluzie

Deci acum ar trebui să fii puțin mai familiarizat cu Ruby on Rails. Am, de asemenea, legat de unele site-uri cu adevărat grozave care se referă la dezvoltarea lor cu Rails. Distreaza-ti codul cu Rails!

  • Railscasts pus de Ryan Bates este o sursă uimitoare de tutoriale video, și vă puteți aștepta mereu la ceva grozav.
  • API-ul Rails este o modalitate excelentă de a găsi mai multe informații despre un subiect despre care nu sunteți sigur în totalitate.

Urmăriți-ne pe Twitter pentru mai multe tutori și articole zilnice de dezvoltare web.