Rails 指南中的 Rails 合格参考是什么意思?

What is Rails qualified reference mean in Rails Guide?

enter image description here

我在rails指南中看到这个让我困惑了很久,根据这个,下面的用户class可以加载吗?

因为Admin中没有User常量,所以rails假设User是一个相对常量,这样classUser就可以加载了?好迷惑

class User
end
module Admin
end
Admin::User # can load User?

Rails 上的 Ruby 将无法在您的示例中加载 Admin::User,因为您的示例中未定义 Admin::User

直到 Ruby 2.5 它曾经工作

Admin::User

将被加载,因为 Ruby 会在 Admin 的范围内查找用户,然后当找不到它时 - 它会继续在顶级范围内查找(对象 - 确实定义了用户). 但这种行为是 deprecated in newer Ruby versions (2.5+),所以不行 - 它不会起作用。