基本上我有这个。
module EcommerceApi
class Application < Rails::Application
end
end但鲁博科普仍在抱怨:
Use compact module/class definition instead of nested style.Style/ClassAndModuleChildren在这种情况下,应该如何定义?
发布于 2020-12-01 05:20:40
你应该叫那个警察滚开by ignoring it这个cop实际上与Rubocop应该执行的Ruby风格指南相冲突:
使用显式嵌套定义(并重新打开)命名空间类和模块。由于Ruby的词法作用域,使用作用域解析操作符可能会导致令人惊讶的常量查找,这取决于定义点处的模块嵌套。
基本上,这就是说,如果你使用class EcommerceApi::Application而不是显式嵌套,那么里面嵌套的模块将是[EcommerceApi::Application]而不是[EcommerceApi, EcommerceApi::Application]。因此,如果引用Foo,将不会获得EcommerceApi::Foo,而是从全局名称空间获得::Foo (或缺少常量错误)。
https://stackoverflow.com/questions/65047005
复制相似问题