Ruby on Rails - Framework

Framework to program, zestaw programów i / lub biblioteka kodu, która pisze dla Ciebie większość aplikacji. Kiedy używasz frameworka, Twoim zadaniem jest napisanie tych części aplikacji, które sprawią, że będzie ona wykonywała określone rzeczy, które chcesz.

Kiedy zaczynasz pisać aplikację Railsową, pomijając konfigurację i inne obowiązki porządkowe, musisz wykonać trzy podstawowe zadania -

  • Describe and model your application's domain- Domena to wszechświat Twojej aplikacji. Domeną może być sklep muzyczny, uniwersytet, serwis randkowy, książka adresowa lub spis sprzętu. Więc tutaj musisz dowiedzieć się, co w nim jest, jakie byty istnieją w tym wszechświecie i jak elementy w nim są powiązane ze sobą. Jest to równoważne z modelowaniem struktury bazy danych w celu zachowania jednostek i ich relacji.

  • Specify what can happen in this domain- Model domeny jest statyczny; musisz nadać mu dynamikę. Adresy można dodawać do książki adresowej. Partytury można kupić w sklepach muzycznych. Użytkownicy mogą zalogować się do serwisu randkowego. Studenci mogą zapisać się na zajęcia na uczelni. Musisz zidentyfikować wszystkie możliwe scenariusze lub akcje, w których mogą uczestniczyć elementy Twojej domeny.

  • Choose and design the publicly available views of the domain- W tym momencie możesz zacząć myśleć w kategoriach przeglądarki internetowej. Kiedy już zdecydujesz, że w Twojej domenie są studenci i że mogą oni rejestrować się na zajęcia, możesz wyobrazić sobie stronę powitalną, stronę rejestracji, stronę potwierdzenia itp. Każda z tych stron lub widoków pokazuje użytkownikowi, jak działa stanąć w pewnym momencie.

W oparciu o powyższe trzy zadania, Ruby on Rails zajmuje się strukturą Model / Widok / Kontroler (MVC).

Ruby on Rails MVC Framework

Plik Model View CZasada ontroller dzieli pracę aplikacji na trzy odrębne, ale ściśle współpracujące ze sobą podsystemy.

Model (ActiveRecord)

Utrzymuje relacje między obiektami a bazą danych i obsługuje walidację, skojarzenie, transakcje i nie tylko.

Ten podsystem jest zaimplementowany w bibliotece ActiveRecord, która zapewnia interfejs i powiązanie między tabelami w relacyjnej bazie danych i kodem programu Ruby, który manipuluje rekordami bazy danych. Nazwy metod Ruby są generowane automatycznie na podstawie nazw pól tabel bazy danych.

Widok (ActionView)

Jest to prezentacja danych w określonym formacie, wywołana decyzją administratora o przedstawieniu danych. Są to oparte na skryptach systemy szablonów, takie jak JSP, ASP, PHP i bardzo łatwe do zintegrowania z technologią AJAX.

Podsystem ten jest zaimplementowany w bibliotece ActionView, która jest systemem opartym na Embedded Ruby (ERb) do definiowania szablonów prezentacji do prezentacji danych. Każde połączenie internetowe z aplikacją Railsów powoduje wyświetlenie widoku.

Kontroler (ActionController)

Funkcja w aplikacji kierująca ruchem z jednej strony na odpytywanie modeli o określone dane, z drugiej organizowanie tych danych (wyszukiwanie, sortowanie, przesyłanie wiadomości) do postaci dopasowanej do potrzeb danego widoku.

Ten podsystem jest zaimplementowany w ActionController, który jest brokerem danych znajdującym się między ActiveRecord (interfejs bazy danych) a ActionView (silnik prezentacji).

Graficzne przedstawienie struktury MVC

Poniżej znajduje się obrazowe przedstawienie Ruby on Rails Framework -

Reprezentacja katalogu MVC Framework

Zakładając standardową, domyślną instalację w systemie Linux, można je znaleźć w ten sposób -

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

Zobaczysz podkatalogi, w tym (ale nie tylko) następujące -

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

W instalacji systemu Windows można je znaleźć w ten sposób -

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

Zobaczysz podkatalogi, w tym (ale nie tylko) następujące -

ActionView i ActionController są połączone razem w ActionPack.

ActiveRecord zapewnia szereg technik programowania i skrótów do manipulowania danymi z bazy danych SQL. ActionController i ActionView zapewniają narzędzia do manipulowania i wyświetlania tych danych. Szyny łączą to wszystko razem.