当前位置:  开发笔记 > 后端 > 正文

:: ActiveRecord :: Base中的基本部分

如何解决《::ActiveRecord::Base中的基本部分》经验,为你挑选了3个好方法。

:: Base部分在Person

1> Mike Breen..:


:: Base是ActiveRecord模块中的一个类.模块所做的一件事就是在Ruby中提供命名空间.在Ruby中,您不从模块继承,但可以使用include语句将其混合使用.

我建议拿起镐书或阅读为什么是(凄美)指南红宝石.



2> Dan Vinton..:

在Ruby中,::访问静态类或模块常量.ActiveRecord::Base表示ActiveRecord类或模块具有Base您正在扩展的静态内部类.

编辑:迈克指出,在这种情况下ActiveRecord是一个模块......



3> FaaduBaalak..:

::是一元运算符,允许您访问在另一个类或模块中定义的常量,模块或类.它用于提供名称空间,以便方法和类名称不会与不同作者的其他类冲突.

当你在Rails中看到ActiveRecord :: Base时,意味着在Rails中ActiveRecord::Base 是这样的

module ActiveRecord
  class Base
  end
end

这意味着被调用的Base在一个模块中 ActiveRecord,然后被引用为ActiveRecord::Base

为了更好地理解:: operator,只需从tutorialspoint.com中学习这个例子:

MR_COUNT = 0        # constant defined on main Object class
module Foo
  MR_COUNT = 0
  ::MR_COUNT = 1    # set global count to 1
  MR_COUNT = 2      # set local count to 2
end
puts MR_COUNT       # this is the global constant
puts Foo::MR_COUNT  # this is the local "Foo" constant

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有