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

More Related Content

PDF
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
PPT
Comunicazione e marketing postmoderno
PPT
Lezione Guidata Ruby On Rails Insert
PDF
5/11/2008 7:01 - Jauna mediju laikmeta sākums?
PPS
Mit tehetsz...
PPT
как подготовиться к сдаче егэ
PDF
AbraLive 25 april 2009 Art Projects
Microsoft Azure for DreamSpark Academic Tour - 22/01/2016
Comunicazione e marketing postmoderno
Lezione Guidata Ruby On Rails Insert
5/11/2008 7:01 - Jauna mediju laikmeta sākums?
Mit tehetsz...
как подготовиться к сдаче егэ
AbraLive 25 april 2009 Art Projects

Viewers also liked (20)

PPT
Guia argentina de tratamiento de la EPOC
PPT
Le ricerche di mercato per l'estero
PPT
Lezione Guidata Ruby On Rails Show
PPT
Esercitazioneguidata Rubyon Rails Lista
PPT
PDF
Social media e terremoto in Abruzzo
PPT
Esercitazioneguidata Collegamento Uno Molti
KEY
Presentazione Suggerimenti Marketing Fedele Srl
PDF
20090410 Idcon Stomita
PPS
Virágok
PPT
CLASS PROJECT BBA 2-12 TEAM BUILDING BY STEVEN A M
PPS
Easter Greetings
PPS
Being Logical
PDF
Being Logical
KEY
PDF
2009/04/19 UI Gathering專題演講-UI prototype實作經驗分享
Guia argentina de tratamiento de la EPOC
Le ricerche di mercato per l'estero
Lezione Guidata Ruby On Rails Show
Esercitazioneguidata Rubyon Rails Lista
Social media e terremoto in Abruzzo
Esercitazioneguidata Collegamento Uno Molti
Presentazione Suggerimenti Marketing Fedele Srl
20090410 Idcon Stomita
Virágok
CLASS PROJECT BBA 2-12 TEAM BUILDING BY STEVEN A M
Easter Greetings
Being Logical
Being Logical
2009/04/19 UI Gathering專題演講-UI prototype實作經驗分享
Ad

Similar to Url Routes Rails (20)

KEY
RESTful APIs (ITA) - /w WebMachine
PDF
Lezione 11: Accesso ai RESTful Web Services in Java
PDF
Sviluppo web con Ruby on Rails
ODP
Infrastrutture web e Ruby on Rails
PDF
Sistemi distribuiti
PDF
Sviluppo web dall'antichità all'avanguardia e ritorno
PDF
Hands on MVC - Mastering the Web
PDF
Levate l'ancora! Rotte senza problemi con ZF2
PDF
Happy Monday #1: the Web API guidelines for happy developers
PDF
Tecnologie emergenti per lo sviluppo di web applications: il caso di Ruby on ...
PDF
Creare API pubbliche, come evitare gli errori comuni
PPT
IC2008 Information R-Evolution
PPT
IC2009 Information R-Evolution
PPTX
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
PDF
Costruisci il tuo Sito Web - 1a parte
PPS
Sviluppo Web Agile Con MonoRail
PPT
Web & Library 2
PPT
Sviluppo Web Agile con Castle Monorail
PPTX
World wide web
ZIP
Introduzione a Ruby On Rails
RESTful APIs (ITA) - /w WebMachine
Lezione 11: Accesso ai RESTful Web Services in Java
Sviluppo web con Ruby on Rails
Infrastrutture web e Ruby on Rails
Sistemi distribuiti
Sviluppo web dall'antichità all'avanguardia e ritorno
Hands on MVC - Mastering the Web
Levate l'ancora! Rotte senza problemi con ZF2
Happy Monday #1: the Web API guidelines for happy developers
Tecnologie emergenti per lo sviluppo di web applications: il caso di Ruby on ...
Creare API pubbliche, come evitare gli errori comuni
IC2008 Information R-Evolution
IC2009 Information R-Evolution
Le Applicazioni di Internet Web, FTP, Posta e App pr il Mobile
Costruisci il tuo Sito Web - 1a parte
Sviluppo Web Agile Con MonoRail
Web & Library 2
Sviluppo Web Agile con Castle Monorail
World wide web
Introduzione a Ruby On Rails
Ad

More from Silvano Natalizi - ITIS ALESSANDRO VOLTA PERUGIA (20)

PPTX
Procedimentodisoluzione fisicaparticelle
PPTX
Proc solescercaparabolastaccasegmentosuassex
PPT
Problema fisica compito in classe
PPT
Esercizi sulla energia meccanica
PPT
Lezione Blog Didattici 27 4 2010
PDF
Lezione dappubblicaresulblogvale
PPT
Lezione programmazione database con java Servlet - quarta parte
PPT
Lezione jsp su come gestire una tabella relazionale con chiave esterna
PPT
Lezione jsp pdatabase crud quintaparte
PPT
Lezione js pdatabasecrudterzaparte
Procedimentodisoluzione fisicaparticelle
Proc solescercaparabolastaccasegmentosuassex
Problema fisica compito in classe
Esercizi sulla energia meccanica
Lezione Blog Didattici 27 4 2010
Lezione dappubblicaresulblogvale
Lezione programmazione database con java Servlet - quarta parte
Lezione jsp su come gestire una tabella relazionale con chiave esterna
Lezione jsp pdatabase crud quintaparte
Lezione js pdatabasecrudterzaparte

Recently uploaded (9)

PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
PDF
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...
PPTX
Copia di PROGETTO VIOLENZA sulle donne PCTO
PDF
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...
PDF
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
PDF
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...
PDF
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
PDF
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
PPTX
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 EXPLORE NEW WORLDS - CẢ NĂM...
BÀI TẬP TEST BỔ TRỢ THEO TỪNG UNIT - TIẾNG ANH 10 FRIENDS GLOBAL - CẢ NĂM (24...
Copia di PROGETTO VIOLENZA sulle donne PCTO
GIÁO ÁN CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512 (2 CỘT) NĂM HỌC ...
CHUYÊN ĐỀ BỔ TRỢ NGỮ ÂM, TỪ VỰNG NÂNG CAO - TIẾNG ANH 9 VÀ ÔN THI VÀO LỚP 10 ...
GIÁO ÁN KẾ HOẠCH BÀI DẠY CHÍNH KHÓA TIẾNG ANH 9 - CẢ NĂM - THEO CÔNG VĂN 5512...
Mazzoni-Reggi-2012-Effetto-Lucifero-Su-Wikipedia.pdf
16 CHUYÊN ĐỀ BÀI TẬP ÔN THI TUYỂN SINH VÀO 10 - MÔN TIẾNG ANH - THEO FORM ĐỀ ...
SLIDE-DE-CURSOS-OssssFICIAL-DA-EGEPI-.pptx

Url Routes Rails

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