Определите дружественное уникальное поле (например, слизняк) в вашей коллекции, индексируйте его, в вашей модели определите to_param
, чтобы вернуть:
def to_param
slug
end
Тогда в ваших поисках найдите по слагу, а не по ID:
@post = Post.where(:slug => params[:id].to_s).first
Это позволит вам рассматривать слизней как эффективный ПК для взаимодействия с ресурсами, и они намного красивее.