2011-01-30 3 views
1

В документе friendly_id gem говорится о создании таблицы slugs, где создаются все слизни. Но, кроме того, это дает мне возможность добавить столбец в мою модельную таблицу для повышения производительности с помощью cached_slugs.Требуется ли таблица слизней при использовании драгоценного камня friendly_id?

Мой вопрос: Обязательно ли slug table, хотя я использую столбец cached_slugs в моей таблице моделей? Данные будут излишними. Я попытался удалить таблицу slugs, но затем я получил ошибку при создании новой записи в моей базе данных.

ответ

2

Если вы хотите использовать слизняки с friendly_id, вам нужно использовать таблицу слизней. В friendly_id Многие слизни могут ссылаться на один и тот же ресурс, слизняки не являются постоянными, но только seo-friendly name. Если вы хотите что-то ligter, чем friendly_id, я предлагаю использовать stringex.

https://github.com/rsl/stringex

, но, во всяком случае, freindly_id работы большой и быстро с помощью записи cached_slug.

UPDATE:

Текущая версия friendly_id (4.0) не требует slug таблицы, если вы не используете опцию slug history.

Более подробную информацию можно найти здесь: http://rubydoc.info/github/norman/friendly_id/master/file/Guide.rdoc

Посмотрите под Example Setup и History роликами.

+0

по-другому вы можете использовать friendly_id без пропусков pass_slug = false options ... но вы теряете почти любое преимущество friendly_id – andrea

+0

thx для вашего ответа! – daniel

+0

Есть ли способ сделать friendly_id уникальными именами пули? Таким образом, он проверяет и не допускает многократные одноименные имена, не более - 1 и -2 ?? –

Смежные вопросы