Ошибка: неинициализированная константа SiteCategorySerializer

При попытке пересобрать Discourse с плагином голосования я вижу следующее:

NameError: uninitialized constant SiteCategorySerializer
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:283:in `const_get'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:283:in `block in constantize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `inject'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/inflector/methods.rb:281:in `constantize'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/core_ext/string/inflections.rb:68:in `constantize'
/var/www/discourse/lib/plugin/instance.rb:93:in `block in add_to_serializer'
/var/www/discourse/lib/plugin/instance.rb:699:in `reloadable_patch'
/var/www/discourse/lib/plugin/instance.rb:92:in `add_to_serializer'
/var/www/discourse/plugins/discourse-voting/plugin.rb:82:in `block (2 levels) in activate!'
/var/www/discourse/plugins/discourse-voting/plugin.rb:81:in `each'
/var/www/discourse/plugins/discourse-voting/plugin.rb:81:in `block in activate!'
/var/www/discourse/lib/plugin/instance.rb:328:in `block in notify_after_initialize'
/var/www/discourse/lib/plugin/instance.rb:326:in `each'
/var/www/discourse/lib/plugin/instance.rb:326:in `notify_after_initialize'
/var/www/discourse/config/application.rb:292:in `each'
/var/www/discourse/config/application.rb:292:in `block in <class:Application>'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.3/lib/active_support/lazy_load_hooks.rb:69:in `block in execute_hook'

Похоже, это связано с недавним рефакторингом в плагине:

Последняя известная «рабочая» версия, которую я пробовал, следующая:

Я использую версию Discourse 2.3.2.

1 лайк

То есть вы говорите, что плагин голосования больше не совместим с версией 2.3 (стабильной)?

2 лайка

Скорее всего, мы изменили некоторые внутренние интерфейсы, но должны иметь возможность обеспечить совместимость.

2 лайка

Сегодня я столкнулся с этим при обновлении стабильной версии.
Если это кому-то поможет или кто-то сможет предложить лучшее решение, вот моё временное решение:


hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - mkdir -p plugins
          - git clone https://github.com/discourse/discourse-voting.git
          - cd discourse-voting && git reset --hard 9b4f233b9d33a946f626597aaf3863d2305b8809 && cd ..
1 лайк

Это уже исправлено в соответствии с:

и

Основное изменение было перенесено в стабильную версию.

6 лайков

Эта тема была автоматически закрыта через 47 часов. Новые ответы больше не принимаются.