Лучшая Постоянная ссылка для Rails - PullRequest
4 голосов
/ 17 сентября 2008

Какой, по вашему мнению, лучший способ создания SEO-динамических URL (динамически) в Rails?

Ответы [ 7 ]

6 голосов
/ 17 сентября 2008

Переопределите метод to_param в классах модели, чтобы числовой идентификатор по умолчанию был заменен значимой строкой. Например, этот самый вопрос использует best-permalinking-for-rails в URL.

У Райана Бейтса есть Railscast на эту тему .

3 голосов
/ 18 сентября 2008

ActiveSupport имеет новый метод в Rails, чтобы помочь этому - String # параметризация. Соответствующий коммит здесь ; пример, приведенный в сообщении коммита: «Дональд Э. Кнут» .parameterize => «Дональд-Кнут»

В сочетании с переопределением to_param, упомянутым Джоном Топли, это значительно облегчает использование дружественных URL.

2 голосов
/ 18 сентября 2008

Я в основном использую to_param, как предложил Джон Топли.

Не забудьте поместить индексы таким образом, чтобы все, что вы используете в to_param, было быстро доступно для поиска, иначе вы получите полное сканирование таблицы при каждом доступе. ( Не усилитель производительности!)

Быстрый обходной путь - поместить идентификатор где-то там, и в этом случае ActiveRecord проигнорирует все остальное как грубое и просто выполнит поиск по идентификатору. Вот почему вы видите множество сайтов Rails с URL-адресами, такими как http://example.com/someController/123-a-half-readable-title.

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

2 голосов
/ 18 сентября 2008

строка rsl * exex довольно круто, думайте, что permalink_fu сделано правильно.

1 голос
/ 22 июля 2009

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

0 голосов
/ 22 июля 2009

Я сделал маленький и простой гем, который облегчает переопределение метода to_param. Его можно найти здесь .

0 голосов
/ 17 сентября 2008

Проверьте плагин permalink_fu (извлеченный из Mephisto) ... репозиторий Git находится здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...