Как вы считаете, лучший способ создать дружественные URL-адреса SEO (динамически) в Rails?Best Permalinking for Rails
ответ
Переопределите метод to_param
в классах моделей, чтобы заменить числовой идентификатор по умолчанию на значимую строку. Например, именно этот вопрос использует URL-адрес best-permalinking-for-rails.
Райан Бейтс имеет Railscast on this topic.
Проверьте плагин permalink_fu (извлеченный из Mephisto) ... репозиторий Git - located here.
ActiveSupport имеет новый метод в Rails, чтобы помочь этому - параметр String #. Соответствующая фиксация - here; примером, приведенным в сообщении фиксации, является «Дональд Э. Кнут» .parameterize => «donald-e-knuth»
В сочетании с переопределением to_param, упомянутым Джоном Топли, это упрощает дружественные URL-адреса.
rsl's stringex является довольно устрашающим, подумайте, как permalink_fu сделано правильно.
Я в основном использую to_param
, как предложил Джон Топли.
Не забудьте указать индексы таким образом, чтобы все, что вы используете в to_param, можно быстро найти, или вы получите полное сканирование таблицы для каждого доступа. (Не перформанс-энхансер!)
Быстрые Обходной поставить ID где-то там, в этом случае ActiveRecord будет игнорировать остальную часть его как хлам и просто поиск по идентификатору. Вот почему вы видите множество сайтов Rails с такими URL-адресами, как http://example.com/someController/123-a-half-readable-title.
Для получения дополнительной информации об этом и других наблюдениях SEO из моего опыта работы с Rails вы можете найти this page на моем сайте.
Для меня friendly_id отлично работает, он также может генерировать пули, поэтому вам не нужно иметь дело с дублируемыми URL-адресами, также поддерживаются области применения.
Я сделал небольшой и простой драгоценный камень, который упрощает переопределение метода to_param. Вы можете найти here.