13.18. Oznaczanie tabel bazy danych z wykorzystaniem modułów-domieszek

Problem

Bez konieczności pisania obszernego kodu chcemy umożliwić wprowadzanie do tabeli bazy danych znaczników — krótkich ciągów znaków opisujących określone elementy.

Rozwiązanie

W bibliotece Og jest dostępny moduł pozwalający na znakowanie danych tego typu. Wystarczy wywołać klauzulę is Taggable dla każdej z klas, dla której chcemy wprowadzić oznaczenia, a biblioteka Og utworzy potrzebne tabele.

Oto klasa BlogPost z „13.12. Mapowanie obiektowo-relacyjne z wykorzystaniem biblioteki Og”, tym razem z włączoną opcją Taggable. Biblioteka Og automatycznie tworzy klasę Tag oraz niezbędne tabele bazy danych:

require 'receptury_dbconnect' require 'og' require 'glue/taggable' ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.