gpt4 book ai didi

ruby-on-rails - Rails 无法加载模块链

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:01 25 4
gpt4 key购买 nike

我正在构建一个 Rails 引擎。我这样定义了一个 Controller ,

module A::B::C::D::E
extend ActiveSupport::Concern

# module stuff ...
end

class ExamplesController < ApplicationController
include A::B::C::D::E

# controller stuff ...
end

当我启动 Rails 控制台 rails console 时,出现以下错误,

uninitialized constant A::B (NameError)

为什么会出现此错误?

最佳答案

因为该模块在您使用它时不存在。由于 A 没有定义,Ruby 不知道它是什么。

请注意,:: 是用于查找 的范围解析运算符,而不是定义 类似命名空间的层次结构。

如果你先定义了 A 就可以了:

module A
end

然后B:

module A::B
end

然后C:

module A::B::C
end

等等。

当然你也可以这样做:

module A
module B
module C
module D
module E
end
end
end
end
end

关于ruby-on-rails - Rails 无法加载模块链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11911407/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com