FriendlyId добавляет возможность находить модель, используя слаг, и достаточно умен, чтобы сначала проверить столбец cached_slug.
Вы можете достичь того же результата, выполнив сначала поиск по модели категории.затем получение всех сообщений.
Это предполагает наличие ассоциации has_many и own_to со ссылочными столбцами идентификаторов (или HABTM)
def index
if params[:category]
@posts = Category.find(params[:category]).posts
else
@posts = Post.all.reverse
end
...
Поскольку вы передаете в параметре категории(будучи friendly_id), имеет смысл ссылаться на него через модель категории.
- добавлена дополнительная информация -
ТАКЖЕ: Исторические находки все равно будут работать .. Итак, если вы сгенерировалиновый слаг, переименовывая категорию, старый URL будет вести себя правильно (отлично, если вы избегаете 404)