27
URL e routes

Url Routes Rails

Embed Size (px)

DESCRIPTION

come collegare url con il codice rails

Citation preview

Page 1: Url Routes Rails

URL e routes

Page 2: Url Routes Rails

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.

Page 3: Url Routes Rails
Page 4: Url Routes Rails

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

Page 5: Url Routes Rails

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

Page 6: Url Routes Rails

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.

Page 7: Url Routes Rails

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

Page 8: Url Routes Rails

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.

Page 9: Url Routes Rails

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

Page 10: Url Routes Rails

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

Page 11: Url Routes Rails
Page 12: Url Routes Rails

Ciascuna azione nel nostro controllore restituirà un certo tipo di risposta al browser

Page 13: Url Routes Rails

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?

Page 14: Url Routes Rails

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!!

Page 15: Url Routes Rails

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

Page 16: Url Routes Rails

route

route

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

Page 17: Url Routes Rails

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

Page 18: Url Routes Rails

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.

Page 19: Url Routes Rails

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’

Page 20: Url Routes Rails
Page 21: Url Routes Rails
Page 22: Url Routes Rails
Page 23: Url Routes Rails
Page 24: Url Routes Rails
Page 25: Url Routes Rails
Page 26: Url Routes Rails
Page 27: Url Routes Rails