Како изградити Ruby on Rails апликацију на Ubuntu 22.04

Uvod

Ruby on Rails je široko rasprostranjen web framework, kreiran pomoću Ruby programskog jezika. Njegov cilj je da pojednostavi i ubrza proces razvoja web aplikacija. Aplikacije izgrađene pomoću Rails-a su poznate po svojoj MVC (Model-View-Controller) arhitekturi, koja pruža jasnu i strukturiranu organizaciju koda. U ovom tekstu, detaljno ćemo opisati korake instalacije svih potrebnih alata i kreiranja osnovne Ruby on Rails aplikacije na Ubuntu 22.04 operativnom sistemu.

Instalacija Neophodnih Komponenti

Instalacija Ruby

Prvi korak je instalacija Ruby-ja na vaš Ubuntu sistem. Za instalaciju najnovije podržane verzije, koristite sledeću komandu:


sudo apt update
sudo apt install ruby-full

Instalacija Rails

Nakon što je Ruby instaliran, možete nastaviti sa instalacijom Rails-a koristeći naredbu ispod:


sudo gem install rails

Instalacija Node.js i Yarn

Rails koristi Node.js i Yarn za upravljanje JavaScript paketima. Instalirajte ih sledećim komandama:


sudo apt install nodejs
sudo npm install -g yarn

Kreiranje Nove Rails Aplikacije

Sada kada su sve potrebne komponente instalirane, možete kreirati novu Rails aplikaciju pomoću sledeće komande:


rails new my_app

Ova komanda kreira direktorijum pod nazivom my_app koji sadrži strukturu datoteka i direktorijuma za vašu aplikaciju.

Pokretanje Aplikacije

Da biste pokrenuli aplikaciju, uđite u direktorijum aplikacije i izvršite sledeću komandu:


rails s

Ova komanda pokreće razvojni web server koji će prikazati vašu aplikaciju na http://localhost:3000.

Struktura Rails Aplikacije

Rails aplikacije su organizovane u sledećim direktorijumima:

* app: Sadrži kontrolere, modele i poglede
* config: Sadrži konfiguracione datoteke za aplikaciju
* db: Sadrži baze podataka i migracije
* lib: Sadrži dodatne biblioteke koda koje koristi aplikacija
* log: Sadrži datoteke evidencije aplikacije
* public: Sadrži javne datoteke poput slika, stilova i JavaScript datoteka
* test: Sadrži kod za testiranje aplikacije
* tmp: Sadrži privremene datoteke koje se koriste tokom izvršavanja aplikacije
* vendor: Sadrži zavisne biblioteke koje se koriste u aplikaciji

Kreiranje Modela

Model predstavlja apstraktni opis domena aplikacije. U Rails-u, modeli su definisani u direktorijumu app/models. Novi model možete kreirati pomoću sledeće komande:


rails generate model Post title:string body:text

Ova komanda kreira datoteku app/models/post.rb koja sadrži klasu Post koja predstavlja model podataka za objave.

Kreiranje Kontrolera

Kontroler je odgovoran za obradu HTTP zahteva i odgovora. U Rails-u, kontroleri su definisani u direktorijumu app/controllers. Novi kontroler možete kreirati pomoću sledeće komande:


rails generate controller Posts

Ova komanda kreira datoteku app/controllers/posts_controller.rb koja sadrži klasu PostsController koja predstavlja kontroler za objave.

Kreiranje Pogleda

Pogled je odgovoran za generisanje HTML odgovora koji se vraća korisniku. U Rails-u, pogledi su definisani u direktorijumu app/views. Rails će automatski kreirati odgovarajuće datoteke pogleda za sve akcije u kontroleru.

Rute

Rute definišu kako se HTTP zahtevi mapiraju na odgovarajuće kontrolere i akcije. U Rails-u, rute su definisane u datoteci config/routes.rb. Sledeći kod definiše rutu za indeks akciju PostsController:


Rails.application.routes.draw do
resources :posts
end

Migracije

Migracije su način za upravljanje šemom baze podataka. Kada napravite izmene u modelima, morate kreirati odgovarajuću migraciju koristeći sledeću komandu:


rails generate migration AddColumnToPosts

Ova komanda kreira datoteku db/migrate/add_column_to_posts.rb koja sadrži migraciju za dodavanje nove kolone u tabelu posts.

Zaključak

U ovom vodiču smo prošli kroz osnovne korake za izradu Ruby on Rails aplikacije na Ubuntu 22.04. Objasnili smo strukturu Rails aplikacije i pokazali kako se kreiraju modeli, kontroleri, pogledi i rute. Takođe smo pojasnili kako da upravljate šemom baze podataka pomoću migracija. Prateći ove korake, možete započeti izradu sopstvenih Rails aplikacija.

Često Postavljana Pitanja

1. Koje su prednosti korišćenja Ruby on Rails?

* Skraćeno vreme razvoja
* Jednostavna i jasna arhitektura
* Velika zajednica i podrška
* Bogata biblioteka integrisanih funkcija

2. Da li je potrebno poznavati Ruby pre korišćenja Rails-a?

Da, osnovno razumevanje Ruby-ja je neophodno za efektivno korišćenje Rails-a.

3. Kako mogu da obnovim bazu podataka nakon što uradim izmene u modelu?

Pokrenite naredbu rails db:migrate da biste primenili izmene na bazu podataka.

4. Gde mogu da pronađem dodatnu dokumentaciju o Rails-u?

Rails vodič: https://guides.rubyonrails.org
Zvanični Rails repozitorijum: https://github.com/rails/rails

5. Kako mogu da postavim Rails aplikaciju u proizvodno okruženje?

Koristite Passenger, Nginx ili Puma kao web server i konfigurišite baze podataka i druge potrebne komponente.

6. Da li je moguće koristiti druge programske jezike osim Ruby-ja sa Rails-om?

Ne, Rails je dizajniran da radi isključivo sa Ruby-jem.

7. Šta su dragulji i kako ih mogu koristiti?

Dragulji su dodatni moduli koji pružaju dodatne funkcije za Rails aplikacije. Možete ih instalirati pomoću naredbe gem install.

8. Kako mogu da debuggujem Rails aplikacije?

Koristite komandne linijske alate kao što su byebug i pry, kao i alate za debuggovanje integrisane u razvojen okruženje.