Ruby pe șine

Ruby on Rails. Instalare, configurare, pornire

Instalare.


Ror simplă și rapidă este pusă prin rvm c rvm.io/.


* $ HOME în viitor.
După aceea, în $ HOME / .bash_profile trebuie să apară linia:







și la fiecare deschidere a consolei rvm va fi încărcat, dar nu am avut loc - trebuia să mă înregistrez în $ HOME / bashrc:


Validarea succesului creației


ar trebui să returneze informații mai detaliate, cum ar fi


În timpul instalării, am instalat accidental mai multe versiuni, ceea ce a provocat unele probleme). Puteți vedea lista versiunilor rubinii instalate după cum urmează:
> lista rvm
Dacă există mai multe versiuni, atunci cea curentă va fi marcată "=>", implicit - "*", iar cea curentă și implicită - "= *". Pentru a schimba versiunea necesară, este posibilă:


Pentru a schimba versiunea implicită a rubinului, scrie:

Creați un proiect.


Acum puteți merge direct la crearea proiectului. Creați un dosar $ HOME / ROR / bilete, intrați în el și faceți următoarele.


Când se creează proiectul, vor fi generate toate directoarele necesare (app, config, db, jurnal etc.) și fișierele de configurare din dosarul specificat. Pentru a rula un mic proiect de testare, avem nevoie, în cazul meu, o bază de date PostgreSQL, o pereche de bijuterii (biblioteci) și un server de șine care rulează).
Pentru a porni serverul, trebuie să executați comanda de la rădăcina directorului cu proiectul creat:


unde s este comanda de pornire a serverului (server) și -p 3000 este numărul portului (portului) pe care va fi disponibil proiectul. Pentru a porni consola, trebuie să tastați:

Baza de date.


Pentru a lucra cu postgrass, adăugați la sfârșitul fișierului Gemfile, care ar trebui să fie în rădăcina proiectului, o linie
> gem "pg"
salvați fișierul și faceți


o facem de fiecare dată când facem schimbări în Gemfile și apoi reluăm serverul. Pentru a nu reveni aici, adăugăm imediat și
> gem "haml-rail" pentru rapid și convenabil (după ce vă veți obișnui cu aceasta)) șabloane de marcare-vizualizări. Acum editați atributele hobby-ului pentru a posta-epave în fișierul database.yml. Acesta este localizat în directorul $ HOME / ROR / tickets / config / și va conține acest bloc:


cu utilizatorul potrivit și numele bazei de date, am bilete și, respectiv, bilete).

Se pare că toate pregătirile sunt terminate și puteți începe să creați un model, un controler și o prezentare.

Creați două metode - în sus și în jos, care sunt utilizate în mod implicit pentru funcțiile de migrare - acestea creează și șterg tabelul nostru, respectiv. Numele tipurilor de date vor depinde de baza de date utilizată. Cheia primară este creată în mod implicit și va fi numită id, dar o puteți seta în mod explicit:


Și dacă nu vrem să creăm o cheie primară, scriem astfel:








Salvați și scrieți în consola:


Ca urmare a acestei comenzi, toate metodele incomplete de la fișierele de migrare din directorul $ HOME / ROR / tickets / app / db / migrate / sunt executate. Toate informațiile despre starea tabelelor pot fi găsite în fișierul $ HOME / ROR / tickets / app / db / shema.rb.


Rulează metoda descendentă a ultimei migrări care a fost efectuată, ca urmare a eliminării tabelului din baza de date. Pentru a reveni la mai multe migrări, trebuie să adăugați parametrul STEP la comanda de redirecționare:


această comandă va relua ultimele trei migrări. Vizualizați starea tuturor migrărilor din consola:


Dacă trebuie să executați o anumită metodă dintr-o migrare specifică, atunci adăugați parametrul VERSION:


În fișierul de model ($ HOME / ROR / bilete / app / modele / user.rb) avem încă nevoie de a face doar un singur lucru - pentru a determina domeniul tabelului care va fi disponibil pentru schimbare de la operator, din motive de siguranță, după cum am înțeles). Pentru aceasta scriem în ea următoarele:

În timp ce aplicația nu funcționează, pentru a vă asigura că toate tabelele create sunt într-adevăr create și funcționează așa cum ar trebui, puteți utiliza consola Rails:


această comandă nu va scrie în tabel, dar va crea un obiect de fișiere în memorie cu toate atributele setate. Și acum să facem o notă:


dacă ar reuși, ar trebui să se întoarcă adevărat. Puteți crea o înregistrare cu o singură comandă - creați:


Pentru a verifica dacă există un obiect în baza de date, puteți utiliza găsiți:


va returna un obiect sau o eroare: "ActiveRecord :: RecordNotFound: Nu am gasit User cu id = 1", precum si sql-query generat in baza de date.
De asemenea, puteți căuta câmpuri specifice:


Câteva metode mai convenabile care vor fi cu siguranță la îndemână la început:
> User.first și User.last - prima și ultima înregistrare din tabel vor fi șterse în mod corespunzător și User.all va returna o matrice din toate obiectele tabelului.

Controller.


Ca rezultat al acestei comenzi, fișierul controlerului va fi creat: $ HOME / ROR / bilete / app / controllers / users_controller.rb și directorul pentru vizualizări:
$ HOME / ROR / bilete / app / vizualizări / utilizatori /. Fiecare metodă a controlerului va avea o reprezentare cu același nume în acest dosar. Ele pot fi create manual sau le puteți crea imediat când creați controlerul:


În acest caz, fișierele de vizualizare va fi creat automat în folderul $ HOME / / bilete / app / opinii / utilizatorii ROR / și va fi numit (dacă nu uitați să vă conectați haml) index.html.haml și list.html.haml. Puteți șterge controlerul astfel:


unde d- scurt pentru a distruge
Determinarea metodei index, care este creată în mod implicit, este opțională. Conținutul controlorului nostru de utilizatori va fi:

În user_list va exista o serie de obiecte de utilizator, pe care am presupus că deja le-am nevoie de consola, iar "@" înseamnă că variabila va fi transmisă șablonului.

Reprezentarea.

Nivelul de cuibare este tabelat, atributele tag-ului sunt scrise "hash" în acolade:

iar conținutul este separat de un spațiu:% td test. Deci, conținutul prezentării noastre:

Hyphen - cod executabil în șablon. Aici vom trece printr-o serie de obiecte și vom ieși în bucla metodelor sale - numele câmpului și rolul și id-ul.

Toate vizualizările "înfășurate" în șablonul principal, care este în $ HOME / ROR / bilete / app / views / layouts / application.html.haml
Ștergem tot ceea ce este în el și îl facem cât mai simplu posibil:

Conținutul tuturor șabloanelor generate este înlocuit cu randamentul =. Principalul lucru nu este în neregulă cu nivelurile de cuiburi, am fost foarte stresat la început).


Și a existat doar un mic pas - editarea fișierului de configurare a rutelor (url) - routes.rb. Este în $ HOME / ROR / bilete / config /. Descrie toate rutele proiectului. Acum vor exista doar două înregistrări:

Acesta rue drumul spre „acasă“ pagina (va fi afișat /users/index.html.haml conținutul șablon, în ciuda faptului că metoda indicelui în controlerul nu este definit) și calea către pagina de afișare lista de utilizatori. În cazul în care există o cerere de solicitare a metodei, aceasta trebuie scrisă după cum urmează:
post "utilizatori / adăugați".
Acum totul ar trebui să funcționeze)







Articole similare

Trimiteți-le prietenilor: