Требуется ли таблица слагов при использовании гема friendly_id?
-
27-10-2019 - |
Вопрос
В документации по драгоценному камню friendly_id говорится, что нужно создать таблицу slugs
, в которой создаются все ярлыки.Но кроме того, это дает мне возможность добавить столбец в мою модельную таблицу для повышения производительности с помощью cached_slugs.
У меня вопрос: нужен ли код slug table
, даже если я использую столбец cached_slugs
в своей таблице модели?Данные будут избыточными.Я попытался удалить свою таблицу слагов, но при создании новой записи в базе данных возникла ошибка.
Решение
Если вы хотите использовать ярлыки с friendly_id, вы должны использовать таблицу ярлыков. В friendly_id многие ярлыки могут ссылаться на один и тот же ресурс, ярлыки не являются постоянными ссылками, а представляют собой только понятное поисковое имя. Если вам нужно что-то более легкое, чем friendly_id, я предлагаю использовать stringex.
https://github.com/rsl/stringex
но, в любом случае, freindly_id работает отлично и быстро, используя запись cached_slug.
ОБНОВЛЕНИЕ:
Текущая версия friendly_id
(4.0) не требует таблицы slug
, если вы не используете параметр slug history
.
Дополнительная информация доступна здесь: http://rubydoc.info/github/norman/friendly_id/master/file/Guide.rdoc
Просмотрите подзаголовки Example Setup
и History
.