Journal du Net Développeur >  Outils >  Découverte de Ruby on Rails

Découverte de Ruby on Rails > 2. ActiveRecord

Précédente 3. ActionPack 
ActiveRecord
Pour créer des applications Web dynamique, RoR fait fortement usage de Active Record. Ce modèle de conception (design pattern) présente un objet qui encapsule une ligne de table (ou de vue) de SGBD, y ajoute les méthodes d'accès à ce SGBD, et offre des outils logique de gestion de cette dernière.

Simplement, par son utilisation poussée d'Active Record, RoR fourni aux développeurs un outil simple et puissant de gestion du contenu de la base, au travers d'une syntaxe logique et spécifique à chaque projet.

Le principe est de faire étroitement correspondre les tables de la base de données avec les classes et méthodes utilisées au sein du code Ruby (où tout est objet). Rails utilise pour cela la technique de correspondance Objet-Relationnel (Object-Relational mapping, ORM), qui aboutit à la création d'un objet virtuel de base de données.

RoR utilise l'objet ActiveRecord pour créer et gérer ces associations. Par son biais, il est possible d'avoir une table SQL nommée adresses, et de l'exploiter avec la classe Adresse. Cette dernière est créée implicitement par Rails lors de la mise en place de la table. Chaque ligne de table adresses correspond à un objet Adresse, et chaque colonne de la classe dispose de ses attributs. Les données sont donc d'abord définies dans SQL, puis reprises par Rails.

L'intérêt majeur de ActiveRecord est de rendre implicite tous les aspects de configuration et de maintenance d'une telle associativité : là où d'autres frameworks ont recours à des fichiers à mettre à jour à la main dans le pire des cas, ActiveRecord se repose les conventions de Rails et l'usage de méthode logiques (selon le type de la colonne) pour réduire considérablement ce temps de mise en place. A partir du moment où une classe Adresse est instanciée, RoR parcours la base SQL et valide les correspondances avec la table adresses, en prenant en compte les modifications si besoin est.

Il reste bien entendu possible de sortir de ce schéma, dans les cas une maîtrise plus accrue de la base est nécessaire. Si ActiveRecord cache autant que possible la base, le développeur peut cependant toujours entrer du code SQL à la main.
Précédente Retour au sommaire Suivante 
Sommaire | 1 | 2 | 3 | 4
 
|
Haut de page
Nos autres sites Société | Mentions légales | Contacts | Publicité | PA Emploi | Presse | Recrutement | Tous nos sites | Données personnelles
© Benchmark Group, 69/71 avenue Pierre Grenier. 92517 Boulogne Billancourt Cedex