1

我是 ROR 和炼油厂的新手。所以我一直在理解语法。你能告诉我两者之间的区别:

class X < Refinery::AdminController

class X < ::Refinery::AdminController
4

1 回答 1

4

如果您的类是在模块中定义的(例如命名空间),::类定义开头的 告诉 Rails 在基部查找模块(没有命名空间)。作为一个更具体的例子,如果你有一个定义如下的类:

module Foo
  class MyController < Refinery::AdminController
  end
end

Rails 将尝试Refinery::AdminController在 Foo 模块中查找。但是,如果您以这种格式定义您的类:

module Foo
  class MyController < ::Refinery::AdminController
  end
end

RailsRefinery::AdminController只会在基础级别而不是在Foo.

于 2013-10-22T10:10:40.310 回答