首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zeitwerk将名称空间折叠到根级

Zeitwerk将名称空间折叠到根级
EN

Stack Overflow用户
提问于 2022-08-28 22:49:04
回答 2查看 112关注 0票数 0

Zeitwerk的自述文件给出了这个名称空间折叠的示例:

booking.rb ->预订

预订/操作/create.rb ->预订::Create

要使它以这种方式工作,请将Zeitwerk配置为折叠指定目录:

loader.collapse("#{__dir__}/booking/actions")

但是我不想把中间部分剪掉,我想把所有的东西都放在根级的名称空间中。

也就是说,我想要的不是Booking::Actions::CreateBooking::Create,而是Create。我该怎么做?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-30 23:51:54

collapse只是移除给定路径中的最后一个目录,所以如果要删除两个目录,请为每个目录运行collapse

例如。

如果您有/app/a/b/c/d.rb,那么您可以将d.rb提升到没有名称空间的位置:

代码语言:javascript
复制
loader.collapse("app/a/b/c")
loader.collapse("app/a/b")

Zeitwerk将把d.rb看作是在app/a/中,并且app/的所有子文件夹都被认为是根级的

票数 0
EN

Stack Overflow用户

发布于 2022-08-29 08:01:28

最简单的方法是将/path/to/booking/actions定义为根目录。这在你的申请中有意义吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73522812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档