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.