Noțiuni de bază pentru Ruby on Rails

Ce este Ruby on rails și de ce este atât de popular?

Sine este un cadru web, la rândul său, un cadru este un set de aplicații și diverse mijloace pentru a crea o aplicație web.
Un cadru este cadrul unei aplicații web, cu selecție uriașă setări și cu scopul de a face dezvoltarea cât mai convenabilă și plăcută pentru dezvoltator.

Ești ca un creator, creează orice vrei. La urma urmei, principalul lucru în dezvoltare este să stabilești obiective și să le atingi, știind în același timp că drumul pe care îl urmezi pentru a le atinge este cel mai bun!
Deci, ce este șinele și ce le face atât de grozav?

7 stâlpi de rubin pe șine excelență

În primul rând, Ruby On Rails este Ruby
Ruby on Rails este un framework scris în cel mai bun limbaj Programare Ruby.
Frumusețea și comoditatea programării pur și simplu nu pot fi descrise în cuvinte. Ruby on Rails completează acest limbaj perfect cu noi metode și clase pentru interacțiunea obiectelor și claselor.

Toate aspectele interacțiunii dintre sistemul cadru sunt foarte bine gândite și structurate.
Ruby on Rails are o mulțime de lucruri pe care alte cadre nu le au, Ruby on Rails se dezvoltă treptat, iar alte cadre web abia țin pasul.

În al doilea rând, Ruby on Rails folosește MVC

MVC este șablon arhitectural(model) care presupune împărțirea codului aplicației în trei părți: Model (model), View (vizualizare) și Controller (controller).

Model conține logica matematică a aplicației, conexiunile asociative între modele, diverse apeluri inverse și codul principal al aplicației sunt indicate aici.
Trimiterile sunt utilizate pentru a afișa informații utilizatorului, o vizualizare este, GUI aplicația sau interfața web a unei aplicații web. Aici sunt diverse formulare html, stiluri cssși javascript.
Controlor se ocupă cu legarea modelului de vizualizare și procesarea cererii utilizatorului aplicației. Aici folosiți rute pentru a configura rutarea aplicației dvs.
Utilizarea MVC vă permite să scrieți cod mai curat și mai structurat, ceea ce accelerează semnificativ dezvoltarea, în timp ce aplicația este mai ușor de întreținut.

În al treilea rând, Ruby on Rails folosește CoC
CoC - Convention over Configuration - întreaga idee este că implicit cadrul este deja perfect configurat. Ruby on Rails vine cu un set de convenții extrem de convenabile care vă permit să începeți să vă dezvoltați aplicația imediat după instalarea Ruby on Rails și crearea unui nou proiect. Dacă este necesar, puteți modifica setările implicite (se numesc un acord) și le puteți utiliza pe ale dvs., dar acest lucru, de regulă, nu este numai inutil, ci și adesea dăunător.

A patra balenă, DRY
DRY - Don’t Repeat Yourself (Nu te repeta!) este un alt principiu de dezvoltare care stă la baza cadrului web Ruby on Rails și a limbajului Ruby în sine. Acest principiu instruiește dezvoltatorul să identifice fragmente repetate în cod și să le mute în metode, clase sau module separate, în funcție de situație. În Ruby on Rails, acest principiu apare în multe locuri, permițându-vă să scrieți mai puțin cod, mai puține teste și mai ușor de întreținut codul dezvoltat. De exemplu, într-o vizualizare, sunt disponibile diferite părți parțiale - acestea sunt șabloane pentru repetarea codului care sunt pur și simplu numite în cod, de exemplu pentru Formulare. Acest lucru nu numai că îmbunătățește lizibilitatea codului, dar adaugă și flexibilitate la modificare adăuga informații noi.

Al cincilea pilon este CRUD

CRUD - create, read, update, delete - „creare, citire, actualizare, ștergere”) este o metodologie folosită pentru a crea controlere. Folosind un standard cu care puteți defini clar acțiunile controlerului pentru manipularea completă a oricărui obiect. De asemenea, puteți adăuga propriile acțiuni fără probleme.
De asemenea, șinele utilizează nu numai POST și GET cerereși cum ar fi PUT și DELETE. Oferându-vă mai mult control asupra datelor

Al șaselea pilon al ORM

ORM (object-relational mapping) este o tehnologie de programare care ajută la lucrul cu o bază de date într-un limbaj de programare fără a utiliza diferite limbi sql pentru a manipula baza de date. Folosește programarea orientată pe obiecte în ruby.
Întreaga idee este că un tabel este o clasă, rândurile sale sunt obiecte, coloanele sale sunt proprietăți ale obiectelor.
Metodele de clasă efectuează operații pe tabele.
Metodele obiect efectuează operații pe șiruri individuale.

A șaptea balenă din haml sass/mai puțin
Ideea este să folosești simplificat și mai mult limbaje funcționale precum haml și sass/less. Care cresc lizibilitatea codului, făcând dezvoltarea mai convenabilă și sunt interpretate automat în html și css părinților lor.

Și există și multe alte avantaje, de exemplu, instalarea diferitelor biblioteci suplimentare (gemuri) într-o singură comandă Heroku gratuită, care vă permite să monitorizați performanța dvs aplicație localăîn producție la nor la distanță. Diverse soluții gata făcute, din documentația Ruby on Rails. Și capacitatea de a genera cod pentru mai mult desfășurare rapidă aplicatii web.

Scopul a fost de a prezenta principalele caracteristici ale cadrului Ruby on Rails. Sper că sunteți interesat și un alt rubyist cool va apărea în curând în lumea web!

Ai învățat Ruby și nu știi ce să faci cu el? Vrei să scrii un site web, dar nu funcționează? Frecați de-a lungul șinelor - aceasta este calea de ieșire! Un cadru WEB ultramodern vă va duce ca un pasager prin lumea backend. Dacă nu ți-e frică, atunci învață să bei! Acest curs video este dedicat unuia dintre cele mai comune și utilizate framework-uri astăzi - RubyOnRails, cu ajutorul căruia puteți dezvolta aplicații web frumoase și de înaltă calitate în cât mai repede posibil . Odată ce vă familiarizați cu principiile de bază și funcționarea cadrului, veți învăța cum să creați rapid aplicații web simple. Principala cerință pentru promovarea cursului este cunoștințele de bază.

Limba rubin

24-04-2016 30-11--0001 ru 7 lecții

Mark Zuckerberg este atât de Mark Zuckerberg încât a făcut un astfel de miracol sub forma lui React Js. Și apoi faci un startup pe WordPress. Încearcă, învață, salut lumea spălată. Mark Zuckerberg. PS. Au pus abilitățile de cancer la curs, dar după o privire rapidă și-au dat seama că nu este pentru languste, este un orc sau chiar o abilitate dublă orc.

Durata 05:08:14

24-04-2016 30-11--0001 ru 9 lecții

Băieții de la Google știu multe despre dezvoltare și au creat acest cadru cu drag. Acest site a fost creat inițial în Angular și totul a fost foarte tare, dar la naiba nu a fost indexat de Google, așa că a trebuit să-l ignor și să o fac ca întotdeauna. Luați în considerare această experiență amară și urmăriți lecțiile.

Durata 09:28:50

24-04-2016 30-11--0001 ro 20 de lecții

unghiular 2

Durata 00:49:32

21-05-2016 30-11--0001 ru 50 lectii

Durata 07:04:30

08-10-2016 30-11--0001 ro 100 de lecții

Durata 10:21:12

Învățați să dezvoltați aplicații cu proiecte practice. Vrei sa faci aplicatii web? Ați ajuns la locul potrivit În prima parte a acestui curs, Tristan Mackinlay vă învață cum să programați în Ruby, unul dintre cele mai ușor de utilizat limbaje de programare. În partea 2, veți învăța cum să creați aplicații web frumoase și performante folosind React și Redux React este o bibliotecă JavaScript eficientă și flexibilă pentru crearea de interfețe de utilizator....

Durata 50:19:06

Ultima adăugată

pe 04-04-2019

Vrei să scapi de sclavia corporativă? Procesul tău „Agil” îți drenează viața? Poate că este timpul să preiei controlul asupra carierei tale ieșind pe cont propriu ca freelancer. În această lucrare, Rob Conery vă oferă cadrul pe care să îl construiți, planul de care veți avea nevoie pentru...

pe 04-04-2019

Cartea noastră cea mai bine vândută, care conține peste 600 de pagini de cunoștințe și abilități esențiale în domeniu informatică. De la notația Big-O la normalizarea bazei de date, de la Gang of Four la mașinile Turing. Totul este aici! Pentru cei fără o diplomă de Inginerie Informatică, această carte vă va ajuta să rămâneți...

pe 04-04-2019

Interviurile pot fi incredibil de frustrante. Întrebările tind să fie neconforme și par să nu aibă nimic de-a face cu potențialul tău loc de muncă. Mai mult: trebuie sa scrii pe tabla alba! Ce-i cu lumea asta! În acest episod, John Ski și Rob Conery vă prezintă conceptele

„În măsura” programării funcționale în JavaScript

ro 03-04-2019

Industria de dezvoltare software a cunoscut o renaștere în ultimii câțiva ani. programare functionala. Dar ce este? In Moderation este o introducere în programarea funcțională scrisă în JavaScript, care nu se blochează în jargon și teoria matematică care poate fi...

Autorul a fost îndemnat să scrie acest text studiind o serie de lucruri găsite în Rețeaua globală materiale care ar putea fi bine desemnate sub același titlu/etichetă: Cum am învățat Ruby(sau Ruby on Rails, PHP, JS, C++ etc.) peste trei zile.

Sau ceva de genul asta. Autorul, la rândul său, a reamintit imediat (asocieri incontrolabile) o serie de anecdote, unite din nou printr-o temă comună, care constă în caracterizarea evaluativă a unor acțiuni care pot fi efectuate cu prostie... limba rusă este puternică și incredibil de aforistă, dar , din păcate, nu pare posibil să cităm aici aceste capodopere; În consecință, nu mai rămâne nimic de făcut decât să ofere atenției cititorului o versiune scrisă personal a documentului din serie. Cum să înveți să lucrezi în Ruby on Rails cu plăcere și relativ repede.

Un exemplu de lucru al codului descris în articol, printre alte exemple de șine, poate fi întotdeauna găsit în blogul de testare al autorului pe herokuapp.com, bine ați venit.

Tehnica este simplă, iar autorul nu își pretinde deloc laurii unui descoperitor aici: este necesar să fie interesant, iar rezultatele nu vă vor ține să așteptați. Nu strică să încerci să joci cu propriile slăbiciuni, pentru că uneori vanitatea poate fi benefică cauzei; rezultatele dezvoltării ar trebui să fie de așa natură încât să poată fi prezentate cu mândrie cititorilor, prietenilor și colegilor de pe Internet, implementate undeva pe Heroku sau Amazon, de asemenea - ca să putem reveni la ele din nou și din nou, reconstruind și îmbunătățind, forumurile și StackOwerflow ne ajută pe toți. Așa că spun, de ce să nu scrii, mai întâi, blogul tău pe Ruby on Rails?

Vă sugerez să începeți cu excelentul document Noțiuni de bază cu șine sau cu adaptarea sa în limba rusă a lui Rails pentru începători, de asemenea, să construiți un blog cu Ruby pe șine, iar materialele acestui blog, link-uri către care sunt ușor de găsit în bara laterală din stânga, pot ajuta de asemenea. Și apoi - asta e, apoi magie, la început totul se scrie ca prin note, deschide consola - și înainte... autorul consideră că este de datoria lui să facă doar câteva explicații și recomandări tehnice menite să le ușureze adeptul să caute și să găsească Partea ușoară Forță și nimic mai mult. Aceasta este doar bătălia ta, mergi înainte cu îndrăzneală și întoarce-te învingător.

Aşa. Pasul cu pasul primului manual este perfect calibrat și, sper, să nu vă provoace probleme; tot ce ți se cere este să fii atent, repetând cu scrupulozitate pașii detaliați... iar după o oră primul tău blog este gata, poți să faci o pauză și să treci la al doilea, ceva mai interesant. Și aici, poate, câteva sfaturi de despărțire ne pot fi de folos, la care vom trece acum.

Să începem cu afirmația că aceste metode sunt destul de capabile (ca opțiune) să arate ca ceea ce este arătat mai jos, dar în niciun fel nu la fel ca în original:

app/controllers/posts_controller.rb

# Acțiunea de actualizare actualizează postarea cu noul information def update if @post.update_attributes(post_params) flash[:notice] = "Postare actualizată cu succes!"

redirect_to posts_path else flash[:alert] = "Eroare la actualizarea postării!"

render:edit end end # Acțiunea de afișare redă postarea individuală după preluarea id-ului def show end # Acțiunea de distrugere elimină postarea definitiv din baza de date def destroy @post = Post.find(params[:id]) if @post . destroy flash[:notice] = "Postificarea a fost ștearsă cu succes!" redirect_to posts_path else flash[:alert] = "Eroare la actualizarea postării!" sfârşitul sfârşitului Dar încearcă asta și asta, de ce nu. Să mergem mai departe. Al doilea blog, deși mai complex (editor de articole adăugat CKEditor sfârşitul sfârşitului Şi concepe , un instrument flexibil de autentificare în aplicațiile șine), din anumite motive nu are capacitatea de a lăsa comentarii în original. Va trebui să completați singur această deficiență: procedați prin analogie cu descrierea creării primului blog, vor fi necesare doar modificări foarte minore: pur și simplu, în loc de sfârşitul sfârşitului articol articole

vei avea primul blog post vei avea primul blog postări Dar încearcă asta și asta, de ce nu. Să mergem mai departe.în al doilea blog, aceasta este practic diferența. Fii atent și totul se va rezolva.

Recaptcha

De asemenea, va trebui să faci link către comentarii: da, da, acesta nu este Joomla pentru tine, obișnuiește-te. Cu toate acestea, nu sunt necesare eforturi titanice în procesul de conectare< Devise::RegistrationsController before_action:one_admin_registered?, only: [:new, :create] protected def one_admin_registered? if ((Admin.count == 1) & (admin_signed_in?)) redirect_to root_path elsif Admin.count == 1 redirect_to new_admin_session_path end end end

este descrisă în detaliu în articolul Conectarea Recaptcha în aplicația Rails. În continuare, nu este de prisos să ajustați

în așa fel încât blogul să funcționeze (cel puțin la început!) în modul de utilizator unic, permițând numeroși dintre cititorii săi modul DOAR CITIRE, cu alte cuvinte, vom interzice de la început înregistrarea de noi utilizatori. Există destul de multe rețete diferite pe Internet despre cum să faceți acest lucru, dar, în opinia mea, cel mai competent hack de acest gen este în Wiki devise, în materialul numit How To: Set up devise as a single user system. Și anume: creăm un nou controler:

app/controllers/registrations_controller.rb:

Controller de înregistrări de clasă
apoi îl suprascriem în routes.rb și asta este:

#devise_for:admins devise_for:admins, controllers: ( înregistrări: „înregistrări”)

CKEDITOR.editorConfig = function(config) ( // config.enterMode = 2; //dezactivat

Poate, pentru început, asta e tot... la naiba, aproape că am uitat cel mai important lucru. Dacă implementați dvs blog nou mergând la Heroku- adăugați aceste trei rânduri la

config/application.rb

Config.assets.precompile += Ckeditor.assets config.assets.precompile += %w(ckeditor/*) config.autoload_paths += %W(#(config.root)/app/models/ckeditor)

Altfel redirect_to posts_path else flash[:alert] = "Eroare la actualizarea postării!" va refuza să lucreze pentru tine în noul tău loc.

Ruby a început dezvoltarea pe 23 februarie 1993 și a fost lansat în 1995. Numele este inspirat din limbajul Perl, multe dintre sintaxa și semantica din care sunt împrumutate în Ruby (perlă - „perlă”, rubin - „rubin”). Scopul dezvoltării a fost de a crea un limbaj de programare „adevărat orientat pe obiecte”, ușor de dezvoltat și interpretat.

Limba are un independent sistem de operare implementare multithreading, tastare dinamică puternică, colector de gunoi și multe alte caracteristici. Implementarea multiplatformă a interpretului de limbă este complet gratuită.

Ruby on Rails (RoR) este un framework scris în limbajul de programare Ruby. Implementează modelul arhitectural Model-View-Controller pentru aplicațiile web și oferă, de asemenea, integrarea acestora cu serverul web și serverul de baze de date. Este deschis softwareși este distribuit sub licența MIT.

Pentru a vă ajuta să învățați aceste tehnologii, am compilat o selecție de cărți. Ca întotdeauna, dacă știți o carte care nu este inclusă în acest material, distribuiți-o în comentarii.

Această carte este pentru cei care doresc să scrie Ruby ca un profesionist. Vă învață cum să proiectați API-uri frumoase și să lucrați cu tehnici de programare funcțională. Cartea nu este potrivită pentru începători, dar pentru cei care înțeleg deja Ruby, va fi cu siguranță utilă.

Scopul acestei cărți este de a-i învăța pe cititori să folosească în mod eficient limbajul Ruby. Cartea acoperă Ruby 2.1. Publicația conține aproximativ 400 de exemple diferite, însoțite de o declarație clară a problemei și soluția acesteia cu comentarii detaliate.

Cartea are un prag de intrare destul de scăzut. Nu trebuie să cunoașteți elementele de bază ale dezvoltării web pentru a o învăța. Cartea acoperă Ruby on Rails, un cadru popular pentru dezvoltarea de aplicații web, de la zero. Autorul Michael Hartl, pe lângă Ruby on Rails, prezintă cititorului elementele de bază ale limbajului Ruby în sine, limbajul interogări SQL, CSS, HTML. Cartea acordă multă atenție utilizare practică capabilități cadru. Puteți citi și un fragment din carte.

Și această carte va fi utilă pentru începători. Complexitatea acestuia crește progresiv, iar fiecare secțiune ulterioară folosește abilitățile dobândite în cele precedente.

Cu „Learning Ruby” veți învăța în practică toate capacitățile acestui limbaj într-un mod ușor și distractiv, care mai întâi a captat rapid inimile programatorilor din California și apoi din Rusia.

După ce ați citit această carte, veți învăța cum să scrieți cod elegant folosind toate acestea caracteristici unice.

Această carte intră în detaliu structura internă Limba rubin. Cititorul nu trebuie să cunoască Ruby în sine, dar cunoștințele despre C și, în special, principiile OOP vor fi un plus imens.

Această carte este excelentă pentru a începe cu Ruby. Acesta acoperă toate elementele de bază necesare, de la instalarea limbii până la gestionarea fișierelor și OOP. Fiecare subiect este oferit exemple clare.

Această carte vorbește despre una dintre cele mai interesante caracteristici ale Ruby - blocurile. Ele sunt similare cu închiderile și lambda și sunt utilizate ca în structuri simple limbaj precum blocurile și în tehnici complexe.

Această carte este împărțită în mai multe secțiuni care variază ca dificultate. Acesta acoperă mai întâi configurarea și caracteristicile de bază ale Ruby, apoi acoperă biblioteca standard și subiectele avansate.

Această carte acoperă elementele de bază ale dezvoltării web folosind cadrul popular Ruby on Rails. Pentru a oferi cititorului o idee despre lucrul cu proiecte reale, cartea include exemple de utilizare a Git, GitHub și Heroku.

Această carte este despre utilizarea principiilor OOP în proiectele web Ruby on Rails. Focalizarea sa mutat în lateral solutii practice, care iau tot ce este mai bun din „modul șinelor” și abordarea orientată pe obiecte.

În acest articol vreau să vă spun cum să creați o aplicație simplă care funcționează cu baza de date Date MySQLîn mediul Ruby on Rails 3 Vă puteți gândi la acest material ghid pas cu pas pentru programatorii Rails incepatori.

Deci, pentru lucru avem nevoie de șine instalate și rubygems. Ieri am avut o problemă cu acesta din urmă, așa că a trebuit să elimin pachetul rubygems1.8, nu este clar cum a ajuns în sistem și să instalez rubygems1.9. Permiteți-mi să vă reamintesc că dezvolt pe Ubuntu, deși pentru Comenzi Windows Cred că consolele Rails vor fi la fel. Ca mediu de dezvoltare, folosesc NetBeans cu un plugin pentru Ruby on Rails. Colegul meu a scris bine despre instalare.

Verificarea link-urilor

Trebuie să vă asigurați că directorul /usr/bin conține șine, rake, ruby, legături simbolice bundler către fișiere din directorul /usr/local/ruby/bin. Pentru a vizualiza legăturile utilizați comanda:

in functie de ce vrei sa filtrezi.

Crearea unei aplicații

Am creat un director special pentru aplicațiile mele ruby.

mkdir /home/andrey/ruby
cd /home.andrey/ruby

Șinele au multe utilitarele consolei, care facilitează foarte mult munca, în special prototiparea. Pentru a crea o aplicație care utilizează baze de date mysql hai sa rulam comanda:

aplicația este numele noii noastre aplicații. După executarea comenzii, vom vedea cum șinele ne-au făcut cadrul pentru viitoarea aplicație.

root@vaio:~/ruby# rails noua aplicație -d mysql
crea
creați README
creați Rakefile
creați config.ru
create.gitignore
creați Gemfile
creați aplicația
creați aplicație/controllers/application_controller.rb
creați aplicația/helpers/application_helper.rb
creați aplicații/mailere
creați aplicații/modele
creați app/views/layouts/application.html.erb
crea config
create config/routes.rb
create config/application.rb
create config/environment.rb
creați config/medii
creați config/medii/dezvoltare.rb
creați config/medii/producție.rb
create config/environments/test.rb
creați configurații/inițializatori
create config/initializers/backtrace_silencers.rb
creați config/inițializatori/inflexiuni.rb
creați config/initializers/mime_types.rb
creați config/initializers/secret_token.rb
create config/initializers/session_store.rb
creați config/locales
creați config/locales/en.yml
creați config/boot.rb
creați config/database.yml
creați db
creați db/seeds.rb
creați doc
creați doc/README_FOR_APP
creați lib
creați lib/sarcini
creați lib/tasks/.gitkeep
creați jurnal
creați log/server.log
creați log/producție.log
creați log/dezvoltare.log
creați log/test.log
creează public
create public/404.html
create public/422.html
create public/500.html
create public/favicon.ico
create public/index.html
creați public/roboți.txt
creați public/imagini
creați public/images/rails.png
creați public/ foi de stil
creați public/stylesheets/.gitkeep
creați public/javascripts
creați public/javascripts/application.js
creați public/javascripts/controls.js
creați public/javascripts/dragdrop.js
creați public/javascripts/effects.js
creați public/javascripts/prototype.js
creați public/javascripts/rails.js
creați un script
creați script/șine
creați testul
creați test/instalații
crea test/funcțional
creați test/integrare
creați test/performanță/browsing_test.rb
creați test/test_helper.rb
creați test/unitate
creați tmp
creați tmp/sessions
creați tmp/socket-uri
creați tmp/cache
creați tmp/pids
creați furnizor/pluginuri
creați vendor/plugins/.gitkeep

Mergem în folderul cu el și instalăm pietrele necesare. Gems-urile sunt biblioteci de plug-in necesare pentru proiect (analog cu PECL și PEAR PHP).

După aceasta, consola va afișa ceva de genul acesta:

andrey@vaio:~/ruby/app> sudo bundle install
Folosind rake (0.8.7)
Folosind abstract (1.0.0)
Utilizarea activesupport (3.0.0)
Folosind builder (2.1.2)
Folosind i18n (0.4.2)
Utilizarea activemodel (3.0.0)
Folosind erubis (2.6.6)
Utilizarea rack (1.2.1)
Folosind montarea în rack (0.6.13)
Utilizarea testului rack (0.5.6)
Folosind tzinfo (0.3.23)
Utilizarea pachetului de acțiuni (3.0.0)
Utilizarea tipurilor mime (1.16)
Folosind poliglot (0.3.1)
Utilizarea vârfului copacului (1.4.8)
Utilizarea e-mailului (2.2.9)
Folosind actionmailer (3.0.0)
Folosind arel (1.0.1)
Utilizarea activerecord (3.0.0)
Utilizarea activeresource (3.0.0)
Folosind bundler (1.0.3)
Folosind mysql2 (0.2.6)
Folosind thor (0.14.4)
Utilizarea șinelor (3.0.0)
Utilizarea șinelor (3.0.0)
Pachetul tău este complet! Utilizați `bundle show` pentru a vedea unde este instalată o bijuterie bundle.

Aceasta înseamnă că toate pietrele sunt instalate și conectate. Dacă lipsește ceva, pachetul în sine le va descărca de pe rubygems și le va instala. Aceasta este pentru mine pentru o lungă perioadă de timp lipsea în php, în esență se dovedește a fi un program de instalare a proiectelor. Lista de pietre dependente se află în Gemfile din rădăcina proiectului.

Configurare

Acum trebuie să specificăm detaliile de acces la baza de date a proiectului nostru. Deschideți proiectul în NetBeans: Proiect nou -> Ruby -> aplicația Ruby on Rails cu sursa existentă. Indicăm calea, în cazul meu va fi (/home/andrey/ruby/app) și numele proiectului (aplicație). Pentru Platforma Ruby, o selectăm pe cea instalată pe sistem, mai degrabă decât pe cea încorporată în NetBeans. Faceți clic pe Terminare și proiectul este creat. Deschideți pseudo-folderul de configurare și fișierul database.yml. Aici trebuie să specificați login-ul și parola pentru a accesa baza de date, de preferință pentru toate cele trei medii (dezvoltare, testare, producție) simultan. Mediul este mediul în care va rula aplicația noastră,

  • dezvoltare - computerul dezvoltatorului,
  • server de productie - operare industriala,
  • test — lucrați în modul de testare pe serverul de integrare continuă sau pe computerul testerului.

șine generează model Nume utilizator:șir parola_hashed:șir salt:șir

Puteți vedea imediat ce a generat Rails pentru noi:

invoca active_record
create db/migrate/20101107054200_create_users.rb
creați aplicație/modele/utilizator.rb
invoca test_unit
creați test/unitate/user_test.rb
creați test/fixtures/users.yml

Grozav, acum trebuie să creăm o bază de date. Pentru a face acest lucru facem:

andrey@vaio:~/ruby/app$ rake db:create
(în /home/andrey/ruby/app)
andrey@vaio:~/ruby/app$ rake db:migrate
(în /home/andrey/ruby/app)
== CreateUsers: migrare ============================================== =======
— create_table(:users)
-> 0,0061s
== CreateUsers: migrat (0,0063s) ========================================= =============== ==

Consola afișează datele adăugate. Ne uităm în phpmyadmin și vedem noile baze de date app_development și app_test, precum și tabelele din acestea. Acum este timpul să adăugați date reale. Pentru a face acest lucru, lansați consola șinelor

O consolă nu este doar o consolă, ci o consolă IRB în contextul aplicației dvs. De exemplu, să creăm doi utilizatori:

andrey@vaio:~/ruby/app$ rails console
Se încarcă mediul de dezvoltare (Rails 3.0.0)
irb(principal):001:0> user1 = User.new
=> #
irb(principal):002:0> user1.name = "andrey"
=> "Andrey"
irb(principal):003:0> user1.save
=> adevărat
irb(main):004:0> user2 = User.new
=> #
irb(principal):005:0> user2.name = „vasiliy”
=> "vasiliy"
irb(principal):006:0> user2.save
=> adevărat

irb(principal):007:0> ieșire
andrey@vaio:~/ruby/app$

Să ne uităm la baza de date și într-adevăr avem doi utilizatori. Aș dori să remarc că Rails însuși a adăugat coloanele cheie primarăși câmpurile create_at (data creată) și updated_at (data modificată) ale modelului.

Avem un model și avem și date. Este timpul să lansăm aplicația noastră.

andrey@vaio:~/ruby/app$ server rails
=> Pornirea WEBrick
=> Aplicația Rails 3.0.0 începe în dezvoltare pe http://0.0.0.0:3000
=> Apelați cu -d pentru a detașa
=> Ctrl-C pentru a opri serverul
INFO WEBrick 1.3.1
INFO ruby ​​​​1.9.2 (2010-08-18)
INFORMAȚII WEBrick::HTTPServer#start: pid=4193 port=3000

Aplicația rulează, deschideți browserul la adresa și vedeți pagina de test.

Grozav, aplicația funcționează. Dar arată o pagină HTML obișnuită din folderul /public/index.html. Și vrem dinamică. Deschideți a doua fereastră de consolă (deoarece în prima rulăm serverul Ruby - WebRick), accesați folderul cu proiectul și tastați următoarea comandă acolo:

andrey@vaio:~/ruby/app$ rails generează indexul controlerului
creați aplicația/controllers/index_controller.rb
ruta obține „index/index”
invoca erb
creați aplicație/vizualizări/index
creați app/views/index/index.html.erb
invoca test_unit
creați test/funcțional/index_controller_test.rb
invoca ajutor
creați aplicația/helpers/index_helper.rb
invoca test_unit
creați test/unit/helpers/index_helper_test.rb
andrey@vaio:~/ruby/app$

Cu aceasta am creat controlerul Index, în el există o acțiune Index și tipul acestei acțiuni este index.html.erb Facem Refresh (F5) în NetBeans și ne uităm la fișierele noastre. Uimitor. Acum trebuie să redirecționăm cumva ruta pentru pagina de start la acțiunea de control pe care am creat-o. Deschideți fișierul rute (Configuration/routes.rb) și decomentați următoarea linie acolo:

# Puteți au rădăcina site-ului tău direcționată cu „rădăcină”
# nu uitați decât să ștergeți public/index.html.
root:to => "binevenit#index"

Doar în loc de bun venit scriem și index. Ei bine, sunt obișnuit cu Zend Framework că controlerul și acțiunea sunt numite implicit index. Nu uitați să ștergeți (sau să redenumiți) fișierul public/index.html.

root:to => "index#index"

Reîmprospătăm pagina în browser și vedem că vizualizarea noastră este acum afișată.

Index#index

Mare. Acum putem codifica la controlerul nou creat (Controllers -> index_controller.rb) și scrieți următorul text de acțiune acolo:

clasa IndexController< ApplicationController
def index
@users = User.find(:all)
Sfârşit
Sfârşit

Acum deschideți vizualizarea Views/index/index.html.erb și scrieți următorul cod acolo:

Index#index


Găsiți-mă în app/views/index/index.html.erb


<% for user in @users -%>
<%=user.name%>

<% end %>

Făcând acest lucru, îi spunem lui Rails să itereze prin matricea de utilizatori și să le afișeze numele. Reîmprospătăm pagina și vedem mai jos lista de utilizatori.

Index#index

Găsiți-mă în app/views/index/index.html.erb

andrey
vasiliy

Mare! Aplicația a fost creată!

Multumesc!

Dacă acest articol v-a ajutat sau doriți să-mi susțineți cercetarea și blogul, iată cel mai bun mod de a face acest lucru: