Ruby on Rails - Cadre

Un framework est un programme, un ensemble de programmes et / ou une bibliothèque de codes qui écrit la plupart de votre application pour vous. Lorsque vous utilisez un framework, votre travail consiste à écrire les parties de l'application qui lui permettent de faire les choses spécifiques que vous souhaitez.

Lorsque vous décidez d'écrire une application Rails, en laissant de côté la configuration et les autres tâches ménagères, vous devez effectuer trois tâches principales:

  • Describe and model your application's domain- Le domaine est l'univers de votre application. Le domaine peut être un magasin de musique, une université, un service de rencontres, un carnet d'adresses ou un inventaire matériel. Donc, ici, vous devez comprendre ce qu'il contient, quelles entités existent dans cet univers et comment les éléments qu'il contient sont liés les uns aux autres. Cela équivaut à modéliser une structure de base de données pour conserver les entités et leurs relations.

  • Specify what can happen in this domain- Le modèle de domaine est statique; il faut le rendre dynamique. Des adresses peuvent être ajoutées à un carnet d'adresses. Les partitions musicales peuvent être achetées dans les magasins de musique. Les utilisateurs peuvent se connecter à un service de rencontres. Les étudiants peuvent s'inscrire à des cours dans une université. Vous devez identifier tous les scénarios ou actions possibles auxquels les éléments de votre domaine peuvent participer.

  • Choose and design the publicly available views of the domain- À ce stade, vous pouvez commencer à penser en termes de navigateur Web. Une fois que vous avez décidé que votre domaine a des étudiants et qu'ils peuvent s'inscrire aux cours, vous pouvez envisager une page d'accueil, une page d'inscription et une page de confirmation, etc. Chacune de ces pages, ou vues, montre à l'utilisateur comment les choses se tenir à un certain moment.

Sur la base des trois tâches ci-dessus, Ruby on Rails traite un framework Model / View / Controller (MVC).

Cadre MVC Ruby on Rails

le Model View CLe principe d'un contrôleur divise le travail d'une application en trois sous-systèmes distincts mais étroitement coopératifs.

Modèle (ActiveRecord)

Il maintient la relation entre les objets et la base de données et gère la validation, l'association, les transactions, etc.

Ce sous-système est implémenté dans la bibliothèque ActiveRecord, qui fournit une interface et une liaison entre les tables d'une base de données relationnelle et le code du programme Ruby qui manipule les enregistrements de la base de données. Les noms de méthode Ruby sont automatiquement générés à partir des noms de champ des tables de base de données.

Vue (ActionView)

Il s'agit d'une présentation de données dans un format particulier, déclenchée par la décision d'un responsable du traitement de présenter les données. Ce sont des systèmes de modèles basés sur des scripts comme JSP, ASP, PHP et très faciles à intégrer avec la technologie AJAX.

Ce sous-système est implémenté dans la bibliothèque ActionView, qui est un système basé sur Embedded Ruby (ERb) pour définir des modèles de présentation pour la présentation des données. Chaque connexion Web à une application Rails entraîne l'affichage d'une vue.

Contrôleur (ActionController)

La fonction au sein de l'application qui dirige le trafic, d'une part, interrogeant les modèles pour des données spécifiques et, d'autre part, organisant ces données (recherche, tri, messagerie) sous une forme qui correspond aux besoins d'une vue donnée.

Ce sous-système est implémenté dans ActionController, qui est un courtier de données situé entre ActiveRecord (l'interface de base de données) et ActionView (le moteur de présentation).

Représentation illustrée du cadre MVC

Ci-dessous, une représentation illustrée de Ruby on Rails Framework -

Représentation d'annuaire de MVC Framework

En supposant une installation standard par défaut sur Linux, vous pouvez les trouver comme ceci -

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

Vous verrez des sous-répertoires comprenant (mais sans s'y limiter) les suivants -

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

Sur une installation Windows, vous pouvez les trouver comme ceci -

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

Vous verrez des sous-répertoires comprenant (mais sans s'y limiter) les suivants -

ActionView et ActionController sont regroupés sous ActionPack.

ActiveRecord fournit une gamme de techniques de programmation et de raccourcis pour manipuler les données d'une base de données SQL. ActionController et ActionView fournissent des fonctionnalités pour manipuler et afficher ces données. Les rails relient tout ensemble.