新しいプラグインを Rails plugin generator で開発したいと考えています。
git clone https://github.com/discourse/discourse
rails g plugin discourse-xxx
rails s
エラーメッセージ:
wrong constant name Discourse-xxx inferred by Module from directory (Zeitwerk::NameError)
/Users/project/discourse/plugins/discourse-xxx/app/controllers/discourse-xxx
対処法:
- 特定のディレクトリを Zeitwerk に無視させる。
- 親ディレクトリのいずれかを Zeitwerk に無視させる。
- ディレクトリ名を命名規則に準拠するように変更する。
- 問題のケースを処理するようにインフレクタを変更する。
ただし、プラグイン名に “-” が含まれていない場合は問題ありません。
rails g plugin xxx
rails s