Your SlideShare is downloading. ×
0
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Url Routes Rails
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Url Routes Rails

815

Published on

come collegare url con il codice rails

come collegare url con il codice rails

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
815
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. URL e routes
  • 2. <ul><li>Si riferisce al testo che indica l'indirizzo di un sito web comprensivo di tutti gli elementi che lo compongono cioe' (http://www.nomedi-dominio.estensione) Va digitato nell'apposita barra del browser, e quest'ultimo individuera' e carichera' il sito in questione. </li></ul>
  • 3.  
  • 4. <ul><li>Nel web navighiamo su una successione di pagine. </li></ul><ul><li>Digitiamo l’url o un link , </li></ul><ul><li>il browser richiede al server la pagina indirizzata dall’ url o dal link </li></ul><ul><li>Il web server restituisce, come risposta al browser, la pagina richiesta sottoforma di codice html </li></ul>
  • 5. <ul><li>Il web ha al suo centro la pagina </li></ul><ul><li>Questa interpretazione del web risale ai giorni in cui esso consisteva quasi interamente di documenti </li></ul><ul><li>Il documento era la risorsa primaria del web </li></ul><ul><li>L’http era un modo di richiedere questi documenti </li></ul>
  • 6. <ul><li>Il web è evoluto in maniera significativa, ma rimane popolare questa visione centrata sulla pagina </li></ul><ul><li>molti strumenti disponibili per costruire i siti web e le applicazioni di rete ancora ruotano attorno a questa idea di pagina. </li></ul>
  • 7. <ul><li>Se il sito è fatto solo di pagine statiche, ossia di pagine con il solo codice html, </li></ul><ul><li>Allora per caricare la pagina che ci interessa, </li></ul><ul><li>la digitiamo nella barra degli indirizzi del browser, </li></ul><ul><li>scrivendo l’url con il nome del sito e il pathname della pagina html, </li></ul><ul><li>www.studentefelice.com/felice.html </li></ul><ul><li>O se la pagine felice.html si trova nella cartella “buoni” della root, scriveremo l’indirizzo come </li></ul><ul><li>www.studentefelice.html/buoni/felice.html </li></ul>
  • 8. <ul><li>Le pagine web dinamiche sono caratterizzate dal mescolare il codice html con il codice di un linguaggio di programmazione. </li></ul><ul><li>Ciò consente di </li></ul><ul><ul><li>usare i costrutti di iterazione e di decisione, non disponibili in maniera nativa nel html </li></ul></ul><ul><ul><li>di usare le variabili </li></ul></ul><ul><li>L’uso di queste strutture di controllo e di variabili consente di ottenere pagine web con dati sempre diversi, </li></ul><ul><ul><li>letti da un database </li></ul></ul><ul><ul><li>ad esempio, la medesima pagina web potrebbe mostrarmi le calzature sportive per donna oppure le calzature sportive per uomo </li></ul></ul><ul><ul><li>di conseguenza la medesima pagina appare, nei due distinti casi, diversa, perché in essa appaiono differenti dati. </li></ul></ul>
  • 9. <ul><li>Per distinguere le pagine statiche da quelle dinamiche, si suole aggiungere a quelle dinamiche un suffisso che indica il linguaggio di programmazione mescolato con l’html </li></ul><ul><li>Ad esempio </li></ul><ul><ul><li>nel linguaggio php, la pagina si chiama felice.php; </li></ul></ul><ul><ul><li>nel linguaggio active server pages, la pagina si chiama felice.asp </li></ul></ul><ul><ul><li>Nel linguaggio java server page, la pagina si chiama felice.jsp </li></ul></ul>
  • 10. <ul><li>Rails ha un diverso approccio </li></ul><ul><li>Abbraccia il design pattern MVC </li></ul><ul><li>Ha una natura orientata agli oggetti </li></ul><ul><li>Invece di identificare pagine web, Rails ha a che fare con gli Oggetti </li></ul><ul><li>Gli oggetti sono le Risorse della applicazione di Rails </li></ul><ul><li>Tipicamente Rails esegue della azioni su questi oggetti </li></ul><ul><li>create, edit, delete, show sono tipiche azioni </li></ul>
  • 11.  
  • 12. <ul><li>Ciascuna azione nel nostro controllore restituirà un certo tipo di risposta al browser </li></ul>
  • 13. <ul><li>Un’applicazione web, nella sua forma più semplice, accetta una richiesta di un browser, la elabora ed invia una risposta </li></ul><ul><li>La prima domanda alla quale dobbiamo rispondere è: </li></ul><ul><li>L’applicazione come fa a sapere che cosa deve fare con la richiesta ? </li></ul><ul><li>Ad esempio: un’applicazione di vendita online riceverà una richiesta di mostrare un catalogo di prodotti, di aggiungere gli acquisti al carrello della spesa, etc… etc… </li></ul><ul><li>Come fa l’applicazione ad associare ciascuna richiesta all’appropriato codice che la deve elaborare? </li></ul>
  • 14. <ul><li>Nel PHP, la richiesta è di una pagina php, che già ha, al suo interno, il codice php che deve elaborare la richiesta medesima. </li></ul><ul><li>Invece Rails aderisce al pattern Model Controller View. </li></ul><ul><li>La pagina web corrisponde a grandi linee alla View </li></ul><ul><li>Ma ,in Rails, il codice che deve elaborare la richiesta per generare la view si trova nel Controller!! </li></ul>
  • 15. <ul><li>In Rails dobbiamo associare l’URL del web con il codice della nostra applicazione </li></ul><ul><li>A Rails occorre una regola che gli dica quale codice eseguire per un dato URL </li></ul><ul><li>Le regole che Rails usa per mappare i percorsi URL al codice sono chiamate routes </li></ul><ul><li>Le routes sono definite nel file config/routes.rb </li></ul>
  • 16. <ul><li>Il file routes.rb contiene le regole di routing </li></ul><ul><li>Il contenuto di default, ignorando i commenti è il seguente: </li></ul><ul><li>ActionController::Routing.draw do |map| </li></ul><ul><li>map.connect ‘:controller/:action/:id’ </li></ul><ul><li>map.connect ‘:controller/:action/:id.:format’ </li></ul><ul><li>end </li></ul>route route
  • 17. <ul><li>Un route è costituito da più componenti, separati da uno slash / </li></ul><ul><li>Quando viene digitato un URL, esso viene confrontato con ciascun route a partire dal primo della lista, finchè si trova un route la cui struttura combacia con l’URL </li></ul>
  • 18. <ul><li>Ad esempio, se il nostro URL è </li></ul><ul><li>http://example.com/meetings/show/10 </li></ul><ul><li>esso risulta costituito da tre diversi componenti: meetings, show, 10 </li></ul><ul><li>Questi componenti combaciano con :controller, :action, :id del nostro route </li></ul><ul><li>Per cui rails crea un hash (array con chiave) così fatto: </li></ul><ul><li>params={:controller=>”meetings”, </li></ul><ul><li> :action =>”show”, </li></ul><ul><li>:id =>”10” } </li></ul><ul><li>Rails invocherà il metodo show del controllore “meetings”, con un parametro id=10. </li></ul>
  • 19. <ul><li>Ad esempio, se il nostro URL è: </li></ul><ul><li>http://localhost:3000/ads/3 </li></ul><ul><li>La struttura dell’url è fatta da due soli componenti e quindi non combacia con nussuna regola di default di routes.rb </li></ul><ul><li>Dobbiamo pertanto aggiungere una nuova regola di routing: </li></ul><ul><li>map.connect ‘/ads/:id’, :controller=>’ads’, :action=>’show’ </li></ul>
  • 20.  
  • 21.  
  • 22.  
  • 23.  
  • 24.  
  • 25.  
  • 26.  
  • 27.  

×