Ссылка на произвольный ресурс из модели ActiveRecord - PullRequest
0 голосов
/ 26 января 2012

Я создаю довольно сложное веб-приложение в Rails и столкнулся с проблемой, с которой, как я подозреваю, некоторые сталкивались ранее, но для которой я не могу найти общепринятого решения.Проблема касается ссылок на ресурсы произвольных типов (и с произвольными соответствующими таблицами) из одного свойства модели / столбца таблицы.Мой пример использования - это простая новостная лента, где элементы ленты имеют вид:

id (int)
tag (string)
message (string)
expiry (date)
resource_id (string)

"resource_id" - это ссылка на ресурс, который централизованно связан с элементом канала.В моем проекте в настоящее время он имеет форму «имя_класса: id».При получении элементов новостной ленты я создаю набор строк этой формы, соответствующих ресурсам, принадлежащим пользователю, и выполняю запрос типа «in» в столбце resource_id.Важно отметить, что структура приложения такова, что пользователи будут владеть лишь небольшим (<10) количеством этих ресурсов, поэтому эффективность поиска не является проблемой для этой структуры.Это похоже на хакерское и очень неправильное решение, и я подозреваю, что есть более правильный способ сделать то, что я пытаюсь сделать. </p>

1 Ответ

1 голос
/ 26 января 2012

Я бы использовал два столбца: resource_type и resource_id.Делает соединения более нормализованными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...