在类名之前,我在Rails中见过很多双冒号的用法.

例如:

require ::File.expand_path('../config/environment',  __FILE__)

我知道Module::Class::Constant是什么意思,但是::Class

推荐答案

这意味着您指的是顶级名称空间中的常量File.在这种情况下,这是有道理的:

class MyClass #1
end

module MyNameSpace
  class MyClass #2
  end

  def foo # Creates an instance of MyClass #1
    ::MyClass.new # If I left out the ::, it would refer to
                  # MyNameSpace::MyClass instead.
  end
end

Ruby-on-rails相关问答推荐

涡轮帧SRC已更新,但html未呈现

Rails:嵌套命名空间产生一个奇怪的部分路径,导致MissingTemplate错误

有没有一种方法可以点击一个按钮来冒泡到父元素?

组织和/或存储我一直在 RSpec 中使用的模拟对象的最佳方式是什么?

has_many 通过大小验证

Rails 控制台 - 更新 Gem 后的弃用通知

使用rails form_for时带有_path的未定义方法

如何在 to_json 中获取回形针图像的 url

如何在 rails 中指定和验证枚举?

如何添加到序列化数组

从子类中的重载方法调用基类方法

Rails:文件路径

可能在rails中有多态has_one关系?

Rails 3 中的猴子补丁

在 Rails 应用程序中处理大文件上传的最佳方法是什么?

在 RoR 中引用同一个表的多个外键

rails active admin 部署:找不到文件'jquery-ui'

Rails HABTM - 正确删除关联

向 Rails 模型添加外键

Ruby 中的类别名