Un'appicazione Ruby on Rails segue il PATTERN MVC (Model - View - Controller), che separa la “logica di dominio” (chiamata anche “logica di business”) dalla logica di input e presentazione associata a un’interfaccia grafica utente (GUI). Nel caso delle applicazioni web, la “logica di dominio” generalmente consiste in modelli di dati per elementi come utenti, articoli e prodotti, mentre la GUI è solo una pagina web in un browser web.

Quando interagisce con un’applicazione web, un browser invia una richiesta, che viene ricevuta da un server web e inoltrata a un controller Rails, che si occuperà delle azioni successive. In alcuni casi, il controller esegue immediatamente il rendering di una vista, che è un modello che viene convertito in HTML e inviato nuovamente al browser. Più spesso, per i siti dinamici, il controller interagisce con un modello, che è un oggetto di Ruby che rappresenta un elemento del sito (come un utente) e che si occupa della comunicazione con il database. Dopo aver richiamato il modello, il controller esegue il rendering della vista e restituisce la pagina web completa al browser come HTML.

Nello sviluppo di GIOSANDO capiremo come funziona la logica del PATTERN MVC.