Когда я впервые начал изучать Ruby on Rails несколько месяцев назад, я увидел, что модель выполняет логику, извлекает данные из базы данных и отправляет согласованный ответ на основе инструкций контроллера. Многие младшие разработчики жаловались на то, как сложно им было освоить MVC (модель, представление, контроллер) в Rails. Это казалось таким простым, когда я впервые начал его изучать, но когда я начал работать над простыми проектами, я понял, что не совсем понимаю его. MVC — одна из важнейших концепций Rails, хотя ее несложно понять.

Давайте начнем с чтения документации MVC, предоставленной официальной документацией Rails.

Модель – это класс Ruby, который используется для представления данных. Кроме того, модели могут взаимодействовать с базой данных приложения с помощью функции Rails под названием Active Record.

Rails View — это программа ERb, которая обменивается данными с контроллерами через взаимно доступные переменные.

Контроллер Rails — это логический центр вашего приложения. Он координирует взаимодействие между пользователем, представлениями и моделью.

Позвольте мне использовать реальный пример для демонстрации шаблона MVC, а затем мы вернемся к простому объяснению в Rails.

Магазин мороженого MVC

На улице было слишком жарко, поэтому вы пошли в новый магазин мороженого, чтобы купить мороженое. Вы подходите к кассиру, который в данном случае является контролером, и просите одно ванильное мороженое с M&Ms.

Заказ размещает кассир по имени Контролер, который затем отдает его мороженщику на кухне (который является моделью в этой истории). Производитель мороженого ищет ваниль и M&Ms в холодильнике (по сути, он ищет в базе данных). Как только он обнаружил ингредиенты, он начал делать мороженое. Как только мороженое готово, наш кассир, Контролер, получает его от нашего производителя, Модели. Теперь мы можем освежиться мороженым, которое у нас в руках (мы можем видеть то, что просили, так что это представление).

Итак, что случилось:

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

Модель получает заказы от контроллера и проверяет базу данных на наличие запрошенных элементов.

Представление — это то, что мы получаем и видим после успешного взаимодействия с контроллером и моделью.

Заключение

Лучший способ изучить MVC — создать простой проект. Можно использовать любую программу CRUD, например блог или список дел. Понимание того, как работает MVC, должно быть начальным шагом в изучении Rails, за которым следуют эксперименты с различными подходами к контроллерам, проверки моделей и просмотр пользовательских интерфейсов. Понимание MVC имеет решающее значение, поскольку многие известные фреймворки, включая Laravel и Angular, используют один и тот же шаблон для разработки программного обеспечения.

В следующем посте блога я создам простое приложение для ведения дел, чтобы вы могли больше узнать о моделях, представлениях, контроллерах, маршрутах и ​​платформе Bootstrap.

Об авторе

Спасибо, что прочитали эту статью! Оставьте комментарий ниже, если у вас есть какие-либо вопросы. Не забудьте подписаться на страницу Medium, чтобы получать последние советы и рекомендации по React, Rails и развитию бизнеса. Мой план состоит в том, чтобы публиковать по крайней мере 3 блога в месяц. Если у вас есть интересные темы, дайте мне знать.
Вы можете связаться со мной лично по адресу [email protected].