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