Ruby on Rails - Фреймворк

Фреймворк - это программа, набор программ и / или библиотека кода, которая пишет за вас большую часть вашего приложения. Когда вы используете фреймворк, ваша задача - написать те части приложения, которые заставят его делать то, что вы хотите.

Когда вы собираетесь написать приложение на Rails, не говоря уже о настройке и других домашних делах, вы должны выполнить три основные задачи:

  • Describe and model your application's domain- Домен - это вселенная вашего приложения. Доменом может быть музыкальный магазин, университет, служба знакомств, адресная книга или инвентарь оборудования. Итак, здесь вы должны выяснить, что в нем, какие сущности существуют в этой вселенной и как элементы в ней соотносятся друг с другом. Это эквивалентно моделированию структуры базы данных для сохранения сущностей и их взаимосвязей.

  • Specify what can happen in this domain- Модель предметной области статична; вы должны сделать его динамичным. Адреса можно добавлять в адресную книгу. Музыкальные партитуры можно приобрести в музыкальных магазинах. Пользователи могут войти в службу знакомств. Студенты могут записаться на занятия в университете. Вам необходимо определить все возможные сценарии или действия, в которых могут участвовать элементы вашего домена.

  • Choose and design the publicly available views of the domain- На этом этапе вы можете начать думать в терминах веб-браузера. После того, как вы решили, что в вашем домене есть студенты и что они могут зарегистрироваться для занятий, вы можете представить себе страницу приветствия, страницу регистрации, страницу подтверждения и т. Д. Каждая из этих страниц или представлений показывает пользователю, как обстоят дела стоять в определенной точке.

Основываясь на трех вышеупомянутых задачах, Ruby on Rails имеет дело с фреймворком модель / представление / контроллер (MVC).

Ruby on Rails MVC Framework

В Mодель Vсмотреть CПринцип ontroller разделяет работу приложения на три отдельные, но тесно взаимодействующие подсистемы.

Модель (ActiveRecord)

Он поддерживает связь между объектами и базой данных и обрабатывает проверку, ассоциацию, транзакции и многое другое.

Эта подсистема реализована в библиотеке ActiveRecord, которая обеспечивает интерфейс и привязку между таблицами в реляционной базе данных и программным кодом Ruby, который управляет записями базы данных. Имена методов Ruby автоматически генерируются из имен полей таблиц базы данных.

Просмотр (ActionView)

Это представление данных в определенном формате, инициированное решением диспетчера представить данные. Это системы шаблонов на основе сценариев, такие как JSP, ASP, PHP, и их очень легко интегрировать с технологией AJAX.

Эта подсистема реализована в библиотеке ActionView, которая представляет собой систему на основе Embedded Ruby (ERb) для определения шаблонов представления для представления данных. Каждое веб-соединение с приложением Rails приводит к отображению представления.

Контроллер (ActionController)

Средство в приложении, которое направляет трафик, с одной стороны, запрашивая модели для конкретных данных, а с другой стороны, организуя эти данные (поиск, сортировка, отправка сообщений) в форму, которая соответствует потребностям данного представления.

Эта подсистема реализована в ActionController, который представляет собой брокер данных, расположенный между ActiveRecord (интерфейс базы данных) и ActionView (механизм представления).

Графическое представление MVC Framework

Ниже приведено графическое представление Ruby on Rails Framework -

Представление в каталоге MVC Framework

Предполагая стандартную установку по умолчанию в Linux, вы можете найти их так:

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

Вы увидите подкаталоги, включая (но не ограничиваясь) следующие:

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

При установке Windows вы можете найти их вот так -

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

Вы увидите подкаталоги, включая (но не ограничиваясь) следующие:

ActionView и ActionController объединены в ActionPack.

ActiveRecord предоставляет ряд методов программирования и ярлыков для управления данными из базы данных SQL. ActionController и ActionView предоставляют средства для управления этими данными и их отображения. Rails связывает все это воедино.