24 mar '25 02:00

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

```html 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 s...

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

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

Albo

User.create(name: "John Doe")

Wszystkie powyższe przykłady 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

Albo

User.update(name: "Jane Doe")

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

Usuwanie rekordów

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

Albo

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 SQL-iniekcji 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ść wprowadzana przez użytkownika nie jest używana bezpośrednio do tworzenia zapytania SQL.

Przyjmują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