1

当我们在 app/ 下有一个目录时,我们希望 Zeitwerk 可以使用它,并说命名恰好是这样的

app/stuff/graphql.rb
app/stuff/graphql_error.rb

然后 Zeitwerk 正在寻找一些具有某些模块或类 Graphql 的模块 Stuff。但在我的代码中,我总是将我的模块和类编写为 GraphQL 以匹配该约定。所以 Zeitwerk 现在正在抛出 Zeitwerk::NameError ,因为它试图使用代码。我不想使用 Stuff::GraphqlError,我想使用 Stuff::GraphQLError。我如何在这里欺骗 Zeitwerk?

4

2 回答 2

2

我相信 Zeitwerk 有可以用于此目的的变形器: https ://github.com/fxn/zeitwerk#inflection

于 2022-01-09T23:22:24.837 回答
0

为了app/stuff充当命名空间,您必须将app自身设置为自动加载路径。这有点棘手,请查看https://guides.rubyonrails.org/classic_to_zeitwerk_howto.html#have-app-in-the-autoload-paths

于 2022-02-17T21:27:02.133 回答