Ruby on Rails - Framework

Un framework è un programma, un insieme di programmi e / o una libreria di codici che scrive la maggior parte dell'applicazione per te. Quando usi un framework, il tuo lavoro è scrivere le parti dell'applicazione che le fanno fare le cose specifiche che desideri.

Quando decidi di scrivere un'applicazione Rails, lasciando da parte la configurazione e le altre faccende domestiche, devi svolgere tre compiti principali:

  • Describe and model your application's domain- Il dominio è l'universo della tua applicazione. Il dominio può essere un negozio di musica, un'università, un servizio di appuntamenti, una rubrica o un inventario di hardware. Quindi qui devi capire cosa c'è dentro, quali entità esistono in questo universo e come gli elementi in esso si relazionano tra loro. Ciò equivale a modellare una struttura di database per mantenere le entità e le loro relazioni.

  • Specify what can happen in this domain- Il modello di dominio è statico; devi renderlo dinamico. Gli indirizzi possono essere aggiunti a una rubrica. Gli spartiti musicali possono essere acquistati nei negozi di musica. Gli utenti possono accedere a un servizio di incontri. Gli studenti possono iscriversi alle lezioni presso un'università. Devi identificare tutti i possibili scenari o azioni a cui possono partecipare gli elementi del tuo dominio.

  • Choose and design the publicly available views of the domain- A questo punto, puoi iniziare a pensare in termini di browser web. Dopo aver deciso che il tuo dominio ha studenti e che possono registrarsi per i corsi, puoi visualizzare una pagina di benvenuto, una pagina di registrazione e una pagina di conferma, ecc. Ciascuna di queste pagine, o visualizzazioni, mostra all'utente come stanno le cose stare a un certo punto.

Sulla base delle tre attività precedenti, Ruby on Rails si occupa di un framework Model / View / Controller (MVC).

Ruby on Rails MVC Framework

Il Model Visualizzare CIl principio ontroller divide il lavoro di un'applicazione in tre sottosistemi separati ma strettamente cooperativi.

Modello (ActiveRecord)

Mantiene la relazione tra gli oggetti e il database e gestisce la convalida, l'associazione, le transazioni e altro.

Questo sottosistema è implementato nella libreria ActiveRecord, che fornisce un'interfaccia e un collegamento tra le tabelle in un database relazionale e il codice del programma Ruby che manipola i record del database. I nomi dei metodi Ruby vengono generati automaticamente dai nomi dei campi delle tabelle del database.

Visualizza (ActionView)

È una presentazione dei dati in un formato particolare, innescata dalla decisione di un responsabile del trattamento di presentare i dati. Sono sistemi di modelli basati su script come JSP, ASP, PHP e molto facili da integrare con la tecnologia AJAX.

Questo sottosistema è implementato nella libreria ActionView, che è un sistema basato su Embedded Ruby (ERb) per la definizione dei modelli di presentazione per la presentazione dei dati. Ogni connessione Web a un'applicazione Rails risulta nella visualizzazione di una vista.

Controller (ActionController)

La struttura all'interno dell'applicazione che dirige il traffico, da un lato, interrogando i modelli per dati specifici e, dall'altro, organizzando quei dati (ricerca, ordinamento, messaggistica) in una forma che si adatti alle esigenze di una data vista.

Questo sottosistema è implementato in ActionController, che è un broker di dati che si trova tra ActiveRecord (l'interfaccia del database) e ActionView (il motore di presentazione).

Rappresentazione pittorica di MVC Framework

Di seguito è riportata una rappresentazione pittorica di Ruby on Rails Framework:

Rappresentazione di directory di MVC Framework

Supponendo un'installazione standard e predefinita su Linux, puoi trovarli in questo modo:

tp> cd /usr/local/lib/ruby/gems/2.2.0/gems
tp> ls

Vedrai sottodirectory incluse (ma non limitate a) le seguenti:

  • actionpack-x.y.z
  • activerecord-x.y.z
  • rails-x.y.z

Su un'installazione di Windows, puoi trovarli in questo modo:

tp>cd ruby\lib\ruby\gems\2.2.0\gems
ruby\lib\ruby\gems\2.2.0\gems\>dir

Vedrai sottodirectory incluse (ma non limitate a) le seguenti:

ActionView e ActionController sono raggruppati in ActionPack.

ActiveRecord fornisce una gamma di tecniche di programmazione e scorciatoie per manipolare i dati da un database SQL. ActionController e ActionView forniscono funzionalità per la manipolazione e la visualizzazione di tali dati. Rails lega tutto insieme.