Когато за първи път започнах да изучавам Ruby on Rails преди няколко месеца, видях, че моделът изпълнява логиката, извлича от база данни и изпраща обратно последователен отговор въз основа на инструкциите на контролера. Много младши разработчици се оплакваха колко трудно им е да овладеят MVC (модел, изглед, контролер) в Rails. Изглеждаше толкова просто, когато за първи път започнах да го изучавам, но когато започнах да работя върху прости проекти, осъзнах, че не го разбирам напълно. MVC е една от най-важните концепции в Rails, въпреки че не е трудно да се разбере.

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

Моделе Ruby клас, който се използва за представяне на данни. Освен това моделите могат да взаимодействат с базата данни на приложението чрез функция на Rails, наречена Active Record.

A Rails View е ERb програма, която споделя данни с контролери чрез взаимно достъпни променливи.

Rails контролерът е логическият център на вашето приложение. Той координира взаимодействието между потребителя, изгледите и модела.

Позволете ми да използвам пример от реалния свят, за да демонстрирам модела на MVC и след това ще се върнем към просто обяснение в Rails.

Магазин за сладолед MVC

Навън беше твърде горещо, така че отидохте в нов магазин за сладолед, за да вземете сладолед. Отивате на касата, която в случая е контрольора и заявявате един ванилов сладолед с M&M.

Поръчката се прави от касиера с име Контрольор, който след това я дава на производителя на сладолед в кухнята (който е моделът в тази история). Производителят на сладолед търси ванилия и M&M в хладилника (по същество той търси в база данни). След като откри съставките, той започна да прави сладолед. Веднага след като сладоледът е готов, нашият касиер, Контрольор, го получава от нашия производител, Модел. Вече можем да се освежим със сладоледа, който е в ръцете ни (Виждаме какво поискахме, така че това е гледката.)

И какво стана:

Контрольорът събира нашата информация и изпраща поръчка до Модел. Контрольорът получава тази заявка и дава определен набор от заповеди. Тези инструкции могат да бъдат или за изгледа да актуализира или обслужва определена страница, или за модела да изпълнява специфична логика.

Моделът получава поръчки от контролера и проверява базата данни, за да види дали заявените елементи присъстват.

Изгледът е това, което получаваме и което виждаме, след като взаимодействието ни с контролера и модела е успешно.

Заключение

Най-добрият метод да научите MVC е да създадете прост проект. Може да се използва всяка CRUD програма, като например блог или списък със задачи. Разбирането как работи MVC трябва да бъде началната стъпка в изучаването на Rails, последвана от експерименти с различни подходи на контролери, валидации на модели и потребителски интерфейси за преглед. Разбирането на MVC е от решаващо значение, защото много добре познати рамки, включително Laravel и Angular, използват един и същ модел за разработка на софтуер.

Ще създам основно приложение със задачи в следната публикация в блога, за да можете да научите повече за модели, изгледи, контролери, маршрути и Bootstrap framework.

Всичко за автора

Благодарим, че прочетохте тази статия! Оставете коментар по-долу, ако имате въпроси. Не забравяйте да следвате страницата Medium, за да получите най-новите съвети и трикове за React, Rails и бизнес развитие. Планът ми е да публикувам поне 3 блога на месец. Ако имате интересни теми, моля, уведомете ме.
Можете да се свържете с мен лично на [email protected].