24 mar '25 02:00

Zaawansowane studiowanie Ruby on Rails: wykorzystanie Active Record do interakcji z bazami danych

Ruby on Rails – wysokopoziomowy framework, który działa na Ruby. Cała efektywność tego narzędzia przejawia się w jego wbudowanych bibliotekach, w tym w Active Record, który jest biblioteką ORM (Object-Relational Mapping). Active Record i ORM stały się wygod...

Czytaj post
Udostępnij
🔥 Więcej postów
Ta treść została automatycznie przetłumaczona z ukraińskiego.

Ruby on Rails – wysokopoziomowy framework, który działa na Ruby. Cała efektywność tego narzędzia przejawia się w jego wbudowanych bibliotekach, w tym w Active Record, który jest biblioteką ORM (Object-Relational Mapping).

Active Record i ORM stały się wygodnym narzędziem do interakcji z bazami danych bez pisania kodu SQL.

Active Record: co to jest i jak używać

Active Record realizuje podejście “Convention over Configuration”, co upraszcza interakcję z bazami danych. Możesz tworzyć, aktualizować, odczytywać i usuwać rekordy z bazy danych bez bezpośredniego pisania zapytań SQL. Przyjrzyjmy się bliżej temu procesowi.

Tworzenie rekordów

user = User.new
user.name = "John Doe"
user.save

Lub

User.create(name: "John Doe")

Przykłady powyżej dają ten sam wynik: zapisują nowego użytkownika o imieniu “John Doe”. Przy tym generowane jest zapytanie SQL do wykonania tej akcji, ale programista nie musi tego wiedzieć (w rzeczywistości musi).

Aktualizacja rekordów

user = User.find_by(name: "John Doe")
user.name = "Jane Doe"
user.save

Lub

User.update(name: "Jane Doe")

Obydwa przykłady aktualizują imię użytkownika na “Jane Doe”.

Usuwanie rekordów

user = User.find_by(name: "Jane Doe")
user.destroy

Lub

User.delete_all(name: "Jane Doe")

W ten sposób usuwane jest konto użytkownika “Jane Doe”.

Bezpieczeństwo Active Record

Ważnym aspektem korzystania z Active Record jest stosowanie zasad bezpieczeństwa. Należy być świadomym możliwości ataków SQL injection i wiedzieć, jak im zapobiegać. Nie można wstawiać danych, które użytkownik podaje bezpośrednio do zapytania.

User.where("name = ?", params[:name])

W tym przykładzie wartość wprowadzona przez użytkownika nie jest używana bezpośrednio do tworzenia zapytania SQL.

Stosując te zasady, będziesz mógł skonfigurować Active Record tak, aby optymalnie pełnił rolę mostu między Twoim kodem Ruby a bazą danych.

🔥 Więcej postów

Wszystkie wpisy