Before Ruby on Rails, web programming required a lot of verbiage, steps and time. Now, web designers and software engineers can develop a website much faster and more simply, enabling them to be more productive and effective in their work.
—Bruce Perens, Open Source Luminary
ActiveRecord is a Ruby implementation of the Active Record pattern described by Martin Fowler in his classic Patterns of Enterprise Application Architecture (Addison-Wesley 2002). The abstraction layer provided by ActiveRecord enables the Ruby developer to ignore many of the low level, database-specific details of the source logic, and focus instead on the domain logic that defines the application. Among the benefits of this approach is a concise and readable syntax (Ruby in place of SQL) that makes programming database-driven applications faster and easier. In the past two chapters, for example, you employed the ActiveRecord framework to create a basic blog application without having to write any SQL code.
ActiveRecord is a key component of the Rails stack, whose presence has no doubt substantially contributed to Rails' popularity and ability to provide developers with a productive environment that enables them to write better code. This chapter introduces the framework by taking a closer look at the essential concepts you'll need to learn in order to work with databases through Rails. As such, this is a fundamental chapter, just as an ADO.NET chapter would be crucial to an ASP.NET book. In fact, ActiveRecord implements the M component of the MVC acronym. Your models are ActiveRecord objects.