DEV Community

Cover image for Active Record (Rails Model) - Introduction
Ahmed Abdelhamid
Ahmed Abdelhamid

Posted on • Updated on

Active Record (Rails Model) - Introduction

Content List:

  1. Rails Arhitecture
  2. What is Active Record?
  3. The Active Record Pattern
  4. The Object Relational Mapping (ORM)

Rails Arhitecture

Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. and in this series we are going to speak about Model layer.

Alt Text

What is Active Record?

Active Record is a ruby's gem. and it is the M in MVC - the Model - which represents business data and logic. It is an implementation of the Active Record Pattern which itself is a description of an Object Relational Mapping (ORM) system.

The Active Record Pattern

In the Active Record Pattern every record in the database is represented by an object, this object will serve us with:

  1. Wraping a row in database table.
  2. Encapsulating the database access.
  3. Attributes: Adding table's fields as object's attributes.
  4. Behaviors: Adding domain logic (methods) on that data.

So the objects will carry both persistent data and behavior which operates on that data. And each Active Record object has CRUD (Create, Read, Update, and Delete) methods for database access. This strategy allows simple designs and straight forward mappings between database tables and application objects.

Alt Text
So some of the basics of Active Record are classes and objects.

Active Record Classes and Objects

  • Each table in a database is generally represented by a class that extends Active Record base class. By extending Active Record base classes, model objects inherit a lot of functionalities.

The Object Relational Mapping (ORM)

A technique that connects the rich objects of an application to tables in a relational database management system. so ORM lets you query and manipulate data using Object-Oriented programming.

Active Record as an ORM Framework

Alt Text
Active Record gives us several mechanisms, the most important being the ability to:

  • Represent models and their data.
  • Represent associations between these models.
  • Represent inheritance hierarchies through related models.
  • Validate models before they get persisted to the database.
  • Perform database operations in an object-oriented fashion.

Resources

Ruby on Rails Guide
Martin Fowler
Tutorials Point
Java T Point
Active Record Gem

Latest comments (0)