Обзор языка программирования Ruby on Rails

RoR является бесплатным фреймворком, необходимым для разработки приложений, которые основаны на архитектуре MVC (Model-View-Controller) и базируются на Ruby. Главной целью считается упрощение  разработки веб-приложений и их создание в малом количестве кода, нежели в иных фреймворках, с минимальной конфигурацией. Метапрограммирование Ruby как раз таки позволяет достичь всего этого.
Основными принципами Ruby on Rails являются исключение конфигурирования, вводя, где это возможно, общепринятых соглашений, и исключение повторного кода, который несет одинаковый смысл. Компоненты Ruby on Rails интегрированы таким образом, что теперь программисту не надо писать дескрипторы, которые необходимы для связи между собой или повторять определения, находящиеся в программном коде в реляционной базе данных.
Сам же фреймворк Ruby on Rails и его дополнительные расширения распространяются посредством такой системы, как Ruby Gems, которая стандартизирует каналы распространения и формат пакетов.
Model
Классы моделей Ruby on Rails основаны на Active Record библиотеках, реализующих объектно-реляционный вид данных, которые хранятся в базе. Active Record обладает:
Отражением ассоциаций, колонок, агрегаций
Наследственной иерархией
Автоотражением между таблицами и классами, колонками и атрибутами
Транзакционной поддержкой на уровне БД и на уровне представления объектов
Правилами валидации объектных полей
Способностью представлений записей в виде деревьев или списков
Агрегацией объектов
Способностью задать действия, которые производятся на разных этапах жизни объекта как в отдельном классе, так и в самой модели
Абстрагированием от определенной СУБД. Поддержка PostreSQL, MySQL, DB2, SQLServer, Oracle
Наследованием класса от класса ActiveRecord::Base, который в автоматическом режиме показывает таблицу с именем, которое соответствует имени класса, вами созданного
Отношением объектов, поддерживающихся при помощи макросов has_one, has_many, belong_to
View
Для отображения интерфейса пользователя в Ruby on Rails существует класс, называющийся Action View, который реализует развитую систему шаблонов, так похожих на JavaScript, где языковые инструкции Ruby располагаются внутри таких тегов, как <%=%> или <%%>. Также здесь имеется функция render (отображение шаблона), использующаяся как внутри шаблона и служит для показа подшаблона, так и внутри контроллера.
Controller
Взаимодействующие классы с пользователем в Ruby on Rails построены по принципу классов ActionController. Здесь определяются методы, доступные по URL через веб. Шаблон представления по умолчанию связан с каждым методом. В данном классе определяются разные вспомогательные методы, которые необходимы для управления аспектами, взаимодействующими с пользователем и генерации кода, зачастую использующегося. Например, при работе с БД для операций CRUD (Create-Remove-Update-Delete).