У меня есть таблица под названием Теги (которые теги, определенные мной), и эти слова могут быть применены к двум моделям: Page and Server
Дифференцировать тег для двух моделей в Rails
Эти ассоциации:
page has_and_belongs_to_many tags
server has_and_belongs_to_many tags
Таким образом, пользователь может отмечать страницу и сервер, используя предварительно определенные теги.
Однако некоторые из этих тегов могут быть применены только к серверу, поэтому всякий раз, когда я хочу показать список тегов, которые могут быть применены к странице, я хочу не показывать те, которые предназначены только для Сервера.
Так я думал о решении это добавляет два столбца, который сказал бы:
is_for_page, is_for_server
Я хочу, чтобы избежать две таблицы, один для тегов для серверов и один для тегов для страниц, так как большинство они будут одинаковыми.
Спасибо за ответ. Могу ли я спросить, в чем преимущество «' server_exclusive'' вместо того, чтобы делать '' is_for_server''? –
@HommerSmith Я чувствовал, что «server_exclusive» был более явным, поскольку тег, который предназначен только для серверов, должен иметь этот тег не как «is_for_server» (или другое имя), а true. Поэтому 'exclusive_' был довольно явным для меня. Это не приносит никакого преимущества на самом деле, это действительно зависит от вас, чтобы выбрать имя столбцов – MrYoshiji