|
In partea a doua a acestei serii, vei putea citi mai mult despre crearea si punerea in functiune a unei pagini RoR. De asemenea, vei adauga mai multa interactivitate prin imbricarea codului Ruby in HTML si invatand putin despre variabile. Dupa aceea, vei invata mai multe despre structura URL din Ruby si despre cum sa o manipulezi.
Prima parte
In prima parte a acestui tutorial a fost prezentat framework-ul RoR. De asemenea, ai putut citi despre cum sa creezi o noua aplicatie si cum sa generezi un controller.
Editoare Ruby
Deoarece vom prezenta mai multe lucruri despre sintaxa RoR, vei avea nevoie de un editor bun. Deoarece rails este un framework relativ nou, nu exista prea multe editoare de sintaxa compatibile. Din fericire, exista vreo cateva cu adevarat bune. Pentru Windows, poti utiliza E Texteditor. Este un suport fantastic pentru ruby si include scripturi automate pentru multe alte limbaje. E-texteditor a impartit succesul cu programul creat exclusiv pentru Mac, TextMate. Singurul dezavantaj al amandurora este ca nu sunt gratuite. Daca doresti ceva gratuit, poti apela mereu cu incredere la Notepad ++.
Crearea unei actiuni
Dupa cum probabil iti amintesti, am incheiat tutorialul anterior creand un controler denumit learn. In continuare, vom utiliza acel controller si vom crea o actiune in interiorul acestuia. Apoi vom crea un fisier view corespunzator. Un fisier view este o componenta a arhitecturii MVC care in mod normal contine intreg codul HTML, in concluzie este un fisier ruby imbricat (rhtml).
Acum, ca am generat controlerul learn, putem vizualiza fisierul rb mergand la app/controllers/learn_controller.rb din directorul cu proiectul tau. Daca deschizi fisierul cu un editor, ar trebui ca urmatorul cod sa se afle deja acolo:
Acest cod prestabilit permite controllerului sa mosteneasca clasa predefinita ApplicationController.
Acum, trebuie sa creezi o metoda, mai precis o actiune, care va indica URL-ul pentru view. Pentru a defini o actiune denumita more, tasteaza urmatorul cod:
Poti alege orice nume doresti, dar e recomandat sa denumesti o actiune in functie de continutul acesteia sau de URL, deoarece controlerul si actiunea indica adresa paginii. De exemplu, pentru a obtine pagina "more", trebuie sa accesezi in browser localhost:3000/learn/more (bineinteles dupa ce ai pornit aplicatia cu Start with Mongrel.
Dupa cum poti vedea din mesajul de eroare, view-ul pentru pagina ta nu a fost inca definit.
Crearea unui View
Spre deosebire de controllere, definirea unui view nu se face neaparat prin intermediul consolei. In schimb, poti crea pur si simplu un nou fisier. Dupa cum ai putut observa in tutorialul anterior, la generarea controlerului learn a fost creat un director (denumit learn) in app/view. In continuare, va trebui ca in acest director sa creezi un fisier cu extensia .rhtml si sa-l denumesti asemeni actiunii pe care am definit-o in controller.
O imagine valoreaza cat o mie de cuvinte, deci:
Si acum, doar pentru a testa pagina, vei adauga putin HTML si vei vedea ce se intampla. Ca exemplu, poti introduce codul HTML necesar pentru definirea unei pagini, apoi un text neimportant si un titlu:
Salveaza fisierul si deschide-l din nou in browser.
Minunat, functioneaza! Felicitari, ai creat prima pagina in Rails. Desi nu inseamna prea mult, acum ai cunostintele de baza despre cum sa creezi o aplicatie elementara rails.
Observatie: Ruby on Rails are cateva paradigme pe care le urmeaza. De exemplu, in mod normal, numele unui controller ar trebui sa fie unic si scris cu majuscule. Desi controlerul definit in acest tutorial nu respecta aceasta regula, va trebui sa tii cont de acest lucru atunci cand vei implementa aplicatii reale. Majoritatea tutorialelor de RoR mentioneaza cate o paradigma, dar niciodata nu le listeaza pe toate intr-un singur loc. Nu te ingrijora, aceste reguli vor fi prezentate la un moment dat, dar nu acum, deoarece inca nu ai cunostiintele necesare pentru a le intelege pe toate. Lucrurile vor fi mai clare atunci cand vei cunoaste mai multe despre fiecare componenta.
Adaugarea interactiunilor
In prima parte, ai putut citi despre imbricarea unui cod rails intr-un fisier html. Daca iti amintesti, etichetele <% -%> delimiteaza un cod care este executat, dar care nu este afisat. Pe de alta parte, codul marcat ca <%= %> va determina afisarea unor date pentru utilizator.
Ora de matematica
Poti face calcule matematice foarte usor cu ruby. Pentru acest exemplu, am creat o noua actiune in controlerul learn, denumita math. Vom face cateva calcule matematice simple care vor fi imbricate in urmatoarele taguri. Iata ce vom tasta:
<P><html><BR>
<head>
<title>Math Demo</title>
</head>
<body>
Will it output 4 +5, or 9?<br />
<%= 4 +5 %>
</body>
</html>
</P>
Dupa cum poti observa, scriptul a realizat operatia de adunare:
|