Только что столкнулся с этим на новом форуме. Я попытался добавить тему, но это не удалось из-за одного из расширений файлов. Затем я временно разрешил *, чтобы попытаться исправить проблему, после чего при попытке добавить тему начал получать ошибки 500.
Сообщение
Не удалось корректно обработать перехваченный ответ: ActiveRecord::RecordNotUnique : PG::UniqueViolation: ОШИБКА: дубликат значения ключа нарушает уникальное ограничение "index_child_themes_on_parent_theme_id_and_child_theme_id"
ДЕТАЛИ: Ключ (parent_theme_id, child_theme_id)=(50, 35) уже существует.
Трассировка стека
rack-mini-profiler-3.3.0/lib/patches/db/pg.rb:69:in `exec_params'
rack-mini-profiler-3.3.0/lib/patches/db/pg.rb:69:in `exec_params'
activerecord-7.0.8/lib/active_record/connection_adapters/postgresql_adapter.rb:768:in `block (2 levels) in exec_no_cache'
activesupport-7.0.8/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
activesupport-7.0.8/lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'
activerecord-7.0.8/lib/active_record/connection_adapters/postgresql_adapter.rb:767:in `block in exec_no_cache'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
activesupport-7.0.8/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
Я перепроверю, но шаги для воспроизведения должны быть следующими:
Найдите тему с файлом, который по умолчанию не разрешён (или удалите всё из списка разрешённых расширений темы или сделайте что-то подобное).
Попробуйте импортировать тему.
Убедитесь, что импорт не удался из-за расширения файла.
Разрешите соответствующие расширения (или просто *).
Попробуйте снова импортировать тему, но это всё равно не сработает.
Также, возможно, к теме должны быть прикреплены какие-то компоненты темы, но я не уверен.
Изначально я вызвал эту проблему с помощью собственной темы, но, насколько мне известно, теоретически это может вызвать большинство тем.
Редактирование:
Верно, единственное реальное обязательное условие здесь — заблокированный файл, поэтому тема с пользовательским шрифтом, логотипом и т. д. может вызвать эту проблему, если вы запретите соответствующее расширение файла. (Кроме того, загрузка сотрудниками, apparently, переопределяет загрузку тем, поэтому убедитесь, что файл не разрешён ни в одном из этих настроек).
Я никогда не планировал, что кто-то ещё будет использовать эту тему, она просто сильно настроена под мои предпочтения, и в ней есть те компоненты темы, которые я люблю иметь под рукой.