# Rails プラグインジェネレーターでの Zeitwerk ロードエラー

**URL:** https://meta.discourse.org/t/zeitwerk-load-error-with-rails-plugin-generator/131432
**Category:** Bug
**Created:** [2019 年 10 月 19 日午前 11:15 UTC](https://meta.discourse.org/t/zeitwerk-load-error-with-rails-plugin-generator/131432 "2019-10-19T11:15:18Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![vianull](https://avatars.discourse-cdn.com/v4/letter/v/7ab992/32.png) [@vianull](https://meta.discourse.org/u/vianull)
#### Post date: [2019 年 10 月 19 日午前 11:15 UTC](https://meta.discourse.org/t/zeitwerk-load-error-with-rails-plugin-generator/131432/1 "2019-10-19T11:15:18Z")

</div>

新しいプラグインを [Rails plugin generator](https://meta.discourse.org/t/rails-plugin-generator/95907) で開発したいと考えています。

```
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

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [2019 年 10 月 19 日午前 11:51 UTC](https://meta.discourse.org/t/zeitwerk-load-error-with-rails-plugin-generator/131432/2 "2019-10-19T11:51:50Z")

</div>

Zeitwerk 導入後は見ていません。確認します。

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [2020 年 3 月 30 日午前 11:33 UTC](https://meta.discourse.org/t/zeitwerk-load-error-with-rails-plugin-generator/131432/4 "2020-03-30T11:33:43Z")

</div>

修正済み
