Я люблю Rails, но мы только начали встречаться.
Пользователь может голосовать как за ссылки, так и за комментарии. В дополнение к первичному ключу и метке времени в настоящее время у меня есть следующие атрибуты, определенные для этих моделей:
- Ссылка URL, заголовок, submitter_id, оценка
- Комментарий содержание, commenter_id, оценка, link_id, parent_comment_id
- Голосовать id, voter_id, link_id, direction
Я только что добавил модель комментариев и продумал, как интегрировать ее с голосами. Некоторые варианты:
- Сверните ссылки и комментарии в одну модель "Предмет" и сопоставьте голоса с общим item_id
- Имеется две таблицы голосования, одна для комментариев, одна для ссылок
- Добавить столбец comment_id в существующую таблицу голосования
Не уверен, что лучше. # 1 и # 3 представляют таблицы двойного назначения, то есть в таблице есть определенные столбцы, которые имеют отношение только к подмножествам строк в этой таблице. # 2 избегает этой проблемы, но кажется излишним и глупым.
Неужели компромисс неизбежен или я не вижу золотой путь? Чтобы вы посоветовали? И если вам случится знать о репозитории rails на github, который справляется с подобной ситуацией, я был бы очень благодарен за ссылку!