В настоящее время я использую act_as_paranoid и friendly_id (5.0.1) для модели, и когда я уничтожаю модель и пытаюсь создать новую, которая будет генерировать тот же слаг, я получаю:
ERROR: duplicate key value violates unique constraint "index_papers_on_slug"
Мне нужно каким-то образом получить код, который проверяет, существует ли слаг в рамках всех объектов, а не только неудаленных.
Как я могу заставить friendly_id использовать with_deleted
при проверке, существует ли уже слаг. Я должен отметить, что я также использую историю слагов, что может еще больше усложнить ситуацию.
Копнув глубже, я понял, что, поскольку я использую историю, слаг полностью удаляется, а объект просто удаляется:
DELETE FROM "friendly_id_slugs" WHERE "friendly_id_slugs"."id" = $1 [["id", 9423]]
Итак, мне просто нужно выяснить, как предотвратить это, и я должен быть в порядке, поскольку похоже, что сам код friendly_id уже использует unscoped
при попытке найти допустимый слаг.