Изменение тегов в веб-приложении. Лучшая практика - PullRequest
0 голосов
/ 10 марта 2009

Существует ли эффективный способ для системы обновлять теги для элемента, когда они представлены рядом в текстовом поле, аналогично StackOverflow?

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

Схема базы данных обсуждается здесь: Существует ли согласованная идеальная схема для пометки и здесь: Как разработать схему базы данных для поддержки тегов с категориями?

При каждой модификации элемента будет легко удалить все теги, связанные с элементом, а затем повторно добавить их в базу данных в зависимости от содержимого текстового поля (теги, разделенные пробелами).

Однако это может означать 2/3 вызовов базы данных, даже если пользователь не внес никаких изменений.

Я также подумал, что нельзя вообще изменять теги. При редактировании я мог бы предоставить пользователю небольшой крестик для каждого тега, что позволило бы ему удалить элемент с помощью вызова AJAX.

Это решение, однако, не будет облегчать пользователю такие обстоятельства, как исправление орфографической ошибки в отдельном теге.

1 Ответ

0 голосов
/ 10 марта 2009

Подумав еще раз, я полагаю, у меня будет функция, которая создает строку тега для отображения в форме обновления.

Если бы при обновлении мне пришлось бы снова вызвать эту функцию и сравнить строку, по крайней мере, я бы смог отфильтровать, где теги вообще не были изменены, одним вызовом db.

Тогда, только если теги отличаются, я мог бы сделать обновление.

Может быть достаточно эффективным?

...