Я в основном использую to_param
, как предложил Джон Топли.
Не забудьте поместить индексы таким образом, чтобы все, что вы используете в to_param, было быстро доступно для поиска, иначе вы получите полное сканирование таблицы при каждом доступе. ( Не усилитель производительности!)
Быстрый обходной путь - поместить идентификатор где-то там, и в этом случае ActiveRecord проигнорирует все остальное как грубое и просто выполнит поиск по идентификатору. Вот почему вы видите множество сайтов Rails с URL-адресами, такими как http://example.com/someController/123-a-half-readable-title.
Для получения более подробной информации об этом и других SEO-наблюдениях из моего опыта работы с Rails, вы можете найти эту страницу на моем сайте полезной.