我是 ROR 和炼油厂的新手。所以我一直在理解语法。你能告诉我两者之间的区别:
class X < Refinery::AdminController
和
class X < ::Refinery::AdminController
我是 ROR 和炼油厂的新手。所以我一直在理解语法。你能告诉我两者之间的区别:
class X < Refinery::AdminController
和
class X < ::Refinery::AdminController
如果您的类是在模块中定义的(例如命名空间),::
类定义开头的 告诉 Rails 在基部查找模块(没有命名空间)。作为一个更具体的例子,如果你有一个定义如下的类:
module Foo
class MyController < Refinery::AdminController
end
end
Rails 将尝试Refinery::AdminController
在 Foo 模块中查找。但是,如果您以这种格式定义您的类:
module Foo
class MyController < ::Refinery::AdminController
end
end
RailsRefinery::AdminController
只会在基础级别而不是在Foo
.