E-learn.ro
Panou utilizatori
Utilizator Parola
Creeaza cont nou    Recupereaza parola
Login
Newsletter
Introdu adresa ta de email
Inscrie-te
Inchide panoul de utilizatori
Add to Google

Tutoriale Ruby on Rails

Descarca toolbar

Toolbar E-learn.ro Facebook Twitter

WEB DEVELOPMENT  /  Ruby on Rails  /  Introducere in RoR (6)

Invata Ruby on Rails de la zero (Partea a III-a)

22.03.2009
Invata Ruby on Rails de la zero (Partea a III-a)

In acest tutorial vei putea citi despre cateva caracteristici ale platformei rails, despre cum sa manipulezi structura unui proiect si despre cum sa adaugi linkuri si sa comentezi codul.

Total vizualizari: 3621 3621 afisari   |   Comentarii  0   |   Rating   |   (2 voturi)   |   Timp necesar: 25 min 25 min   |   Nivel de cunostiinte necesar: Incepator  Incepator

Sursa:  net.tutsplus.com  
Autor:  Connor Zwick
Adauga la tutoriale favorit Adauga la tutoriale favorite
Pagina:
1 2 »
comenteaza printeaza

In acest tutorial vei putea citi despre cateva caracteristici ale framework-ului rails, despre cum sa manipulezi structura unui proiect si despre cum sa adaugi linkuri si sa comentezi codul.

Daca nu ai parcurs partile I si II ale acestei serii, este recomandat sa le citesti inainte de a trece mai departe:

Acum ca ai invatat cum sa setezi variabilele globale astfel incat sa transfere informatiile de la un controler la view, este timpul sa inveti cum sa transmiti datele intre diferite actiuni din controler. Pentru acest tutorial vom folosi in continuare controlerul learn. Nu este necesar sa folosesti aceleasi exemple din tutorialul precedent, dar daca le consideri o resursa buna, le poti utiliza.

Apelarea unei actiuni dintr-o alta actiune

Pentru acest exemplu, foloseste-te de cunostintele dobandite saptamana trecuta despre variabilele globale si aplica-le. Mai intai trebuie sa creezi doua actiuni denumite another_action si text, urmand ca apoi sa iei actiunile din text si sa le pui in another_action. Pentru a demonstra functionalitatea scriptului, vom crea o variabila globala care va afisata in actiunea text, apelata din another_action. Codul este:

class LearnController < ApplicationController   
  def another_action   
    text   
  end  
  
  def text   
    @text = 'Acest text provine dintr-o alta actiune' 
  end  
  end

In continuare vei crea un view denumit another_action.rhtml, care afiseaza variabila text.

 
<html>  
  <head>  
  <title>Actiune Demo</title>  
  </head>  
<body>  
       
  <%= @text %>  
  </body>  
  </html>

Explicatie

Dupa cum poti observa, am creat o referinta la actiunea text prin adaugarea ei in interiorul actiunii another_action, ceea ce include in mod implicit si definitia variabilei text.Pentru a demonstra acest principiu, sa analizam diferite situatii.

Cazul 1- Initializarea unei variabile cu o actiune

class LearnController < ApplicationController   
       
    def another_action   
        @text = text   
    end  
       
    def text   
        misc_text = 'Acest text a fost transmis!'  
    end    
end

Rezultatul cazului 1

Cazul 2 - Inlocuirea unei variabile

Acum lucrurile vor deveni mai complicate.

   
class LearnController < ApplicationController   
       
    def another_action   
        @text = "text pe care nu il vei vedea"  
        @text = text   
   end  
       
    def text   
        wanted_text = overwrite_view   
    end  
       
    def overwrite_view   
        overwrite_text = 'Acest text rescrie textul original'  
    end  
end

Rezultatul cazului 2

Aceasta este ordinea evenimentelor executate de ultimul cod:

  • Initializeaza variabila globala text cu sirul de caractere "text pe care nu il vei vedea";
  • Rescrie variabila text cu actiunea text;
  • Variabila text are acum valoarea variabilei locale wanted_text;
  • Variabila wanted_text este initializata cu actiunea overwrite_view;
  • overwrite_view are o variabila locala cu valoarea "Acest text rescrie textul original";
  • Acesta te duce inapoi la variabila @text.

Cazul 3 - transmiterea unei variabile

Acest exemplu este mai simplu:

class LearnController < ApplicationController   
       
    def another_action   
        @text = "text pe care nu il vei vedea"  
        text   
    end  
       
    def text   
        @text = 'Acest text rescrie textul original' 
    end  
end

Rezultatul cazului 3

Cazul 4 - returnarea unei valori

class LearnController < ApplicationController   
       
    def another_action   
        @text = text   
    end  
       
    def text   
        first = 'Acest text nu ar trebui sa fie transmis variabilei @text'  
        second = 'Acest text va fi implicit retinut in variabila'  
        return first   
    end  
           
end

Acest exemplu este mai important deoarece introduce un element nou in sintaxa: comanda return, care spune actiunii ce valoare sa returneze.

Rezultatul cazului 4

Linkuri Rails

Daca esti cat de cat familiar cu HTML, ar trebui sa stii ca un link este definit de un tag < a href="">Text< /a>. Framework-ul Rails iti ofera o metoda alternativa, ce poate fi utilizata doar in fisiere .rhtml, nu si in fisiere .rb. Iata un exemplu:

<html>   
<head>   
<title>Rails Link Demo</title>   
</head>   
<body>   
<%= link_to('Link catre Another Action', :controller => 'learn', :action => 'another_action')%>   
</body>   
</html>

Intr-o prima faza te-ai putea intreba de ce ai vrea sa schimbi modalitatea in care scrii linkurile, cu atat mai mult cu cat inlocuirea necesita mult timp. Motivul principal este ca un astfel de link este mai lizibil.

In ceea ce priveste sintaxa, partea care contine "controler =>" nu este necesara daca linkul duce catre o actiune ce face parte din acelasi controler.

De asemenea, trebuie sa retii ca sintaxa "controller =>" reprezinta un simbol, care va fi utilizat si in alte exemple.

Pagina:
1 2 »
comenteaza printeaza
Alte tutoriale Ruby on Rails:
Noteaza acest tutorial
Rating tutorial
 
(2 voturi)
Pentru a nota acest tutorial, trebuie sa fii logat!
Posteaza un comentariu
Pentru a posta un comentariu, trebuie sa fii logat!
0 TOP UTILIZATORI* 0 0
Tutoriale scrise de claibornelara
claibornelara Rang utilizator claibornelara - Incepator
4320
Tutoriale scrise de mcuemica
mcuemica Rang utilizator mcuemica - Incepator
4190
Tutoriale scrise de ellarichards
ellarichards Rang utilizator ellarichards - Incepator
4170
Tutoriale scrise de kheops
kheops Rang utilizator kheops - Mediu
4084
Tutoriale scrise de emonclercheap
emonclercheap Rang utilizator emonclercheap - Incepator
4010
* Acest top reprezinta punctajele acumulate in ultimele 30 de zile.
Sony Vegas Python Flash Outlook Java Fotografie COREL DRAW SEO PHP AJAX Dreamweaver XHTML StyleSheet JSON MySQL Word Vista RoR CSS Illustrator Lightroom Ruby on Rails Action Script Gimp Verilog Photoshop Javascript Excel HTML Swift 3D Fireworks PSD SWF XML Powerpoint Bridge
Promovare:
Daca faci parte din comunitatea E-learn.ro si doresti promovarea acesteia, poti accesa pagina de promovare.
Arhiva newsletter:
Daca ai ratat un numar mai vechi, sau vrei sa revezi care au fost noutatile E-learn.ro la un moment dat, poti accesa arhiva de newslettere.
  Copyright © 2008-2013 E-LEARN.ro. Toate drepturile rezervate. Termeni si conditii.
Conceput si realizat de Neokinetics Software