炼油厂和::炼油厂之间的差异

时间:2013-10-22 09:47:15

标签: ruby-on-rails

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

class X < Refinery::AdminController

class X < ::Refinery::AdminController

1 个答案:

答案 0 :(得分:4)

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

module Foo
  class MyController < Refinery::AdminController
  end
end

Rails会尝试在Foo模块中找到Refinery::AdminController。但是,如果您使用以下格式定义类:

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

Rails只会在基级而非Refinery::AdminController内查找Foo