在Rails 3中::表示什么?

Rya*_*yan 4 ruby-on-rails-3

我正在Rails 3中实现一个API,并注意到一个示例控制器定义为class Api::ToursController < ApplicationController.有谁知道冒号表示什么?它是继承吗?或者它是否指示扩展ToursController?我试过寻找答案,但还没有提出任何答案.

以下是我所引用的内容:https://github.com/nesquena/rabl/wiki/Set-up-rabl-for-Ruby-on-Rails

Can*_*der 5

:: 是多种语言的范围解析运算符(即命名空间运算符),包括C++和Ruby,因此它并不特定于Rails.

在Ruby中,模块定义了名称空间,因此您可以看到如下代码:

Net::HTTP.get 'stackoverflow.com'
Run Code Online (Sandbox Code Playgroud)

它调用模块中类的get类方法.HTTPNet

在Rails中,名称空间允许您更好地组织代码(例如,将API控制器与其他代码分开),并作为模块实现.