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 связывает все это воедино.