Erro de carregamento do Zeitwerk com gerador de plugin do Rails

Quero desenvolver um novo plugin com o Rails plugin generator

git clone https://github.com/discourse/discourse
rails g plugin discourse-xxx
rails s 

Mensagem de erro:

nome de constante incorreto Discourse-xxx inferido pelo Módulo a partir do diretório (Zeitwerk::NameError)

/Users/project/discourse/plugins/discourse-xxx/app/controllers/discourse-xxx

Formas possíveis de resolver isso:

  • Instruir o Zeitwerk a ignorar este diretório específico.
  • Instruir o Zeitwerk a ignorar um dos seus diretórios pais.
  • Renomear o diretório para cumprir as convenções de nomenclatura.
  • Modificar o inflector para lidar com este caso.

No entanto, tudo funciona bem se o nome do plugin não tiver “-”

rails g plugin xxx
rails s

2 curtidas

Não olhamos desde que implementamos o Zeitwerk. Vou dar uma olhada.

6 curtidas

corrigido