Креативное использование тегов - PullRequest
0 голосов
/ 15 февраля 2012

Этот вопрос касается acts_as_taggable_on , но я считаю, что он относится к тегированию в целом.

Уместно ли использовать теги для хранения небольших деталей о деятельности пользователя, например, истории его взаимодействия?

Например: наш пользователь в последний раз хотел, чтобы демонстрационная панель была закрыта, поэтому мы сохраняем ее как тег с именем home_demo_closed, который затем легко можно найти при загрузке следующей страницы.

Альтернативой является добавление столбца в базу данных каждый раз, когда мы хотим сохранить новую точку взаимодействия. Это кажется мне излишним - неуклюжий, много работы для реализации и слишком «исправленный», учитывая, как быстро может измениться внешний интерфейс.

Как вы думаете, что является лучшим способом для продолжения этого - есть ли недостаток дизайна с использованием тегов для «творческих» целей, подобных этому, который я не рассматриваю?

1 Ответ

1 голос
/ 15 февраля 2012

С философской точки зрения кажется, что «тег» был бы неправильным для использования здесь - тег - это способ индексации объекта данных с одним или несколькими терминами, доступными для поиска или категоризации.Как уже было сказано, базовая технология (связь «многие ко многим» с объектами данных с одной стороны и элементарными элементами данных с другой) является вполне жизнеспособным подходом.Я бы, наверное, пошел дальше и создал бы новую таблицу preferences и таблицу соединений user_preference_settings, просто с точки зрения читабельности кода.

Это похоже на старую шутку о студенте-физике, которого спросили, как он будетузнать высоту здания с помощью барометра.Он ответил: «Сбрось барометр с верха здания и сколько времени понадобится, чтобы упасть на землю».Умный, эффективный, но, конечно, не тот ответ, который ожидают найти другие.:)

...