Cha*_*zen 2 ruby inheritance ruby-on-rails class ruby-on-rails-3
我正在一个大型rails项目中工作,我有一些文件:
app/services/my_service/my_action/my_model_2.rb:
module <my_service>
module <my_action>
class <my_model_2>
. . .
if some_var = <my_model>::MY_CONST
if some_Var = ::<my_model>::MY_CONST # <-- what is the difference here?
Run Code Online (Sandbox Code Playgroud)
app/services/my_service/my_action/my_model.rb:
module <my_service>
module <my_action>
class <my_model>
Run Code Online (Sandbox Code Playgroud)
app/services/my_service/my_model.rb:
module <my_service>
class <my_model>
Run Code Online (Sandbox Code Playgroud)
app/models/my_model.rb:
class <my_model> < ActiveRecord::Base
. . .
MY_CONST = "my constant"
Run Code Online (Sandbox Code Playgroud)
my_model_2.rb有什么区别?
如何从my_model_2.rb正确访问每个模型的范围?
请注意,app/models类名与app/services类名相同.
领导者::迫使Ruby解释器开始从顶级命名空间解析类名.这意味着,如果您有一个类,Foo::Bar::Baz并Boo在两者中定义了类/模块
引用Boo内部Foo::Bar::Baz实际上将结束Foo::Boo模块/类,而如果使用::Boo它将匹配,Boo因为名称的分辨率将从主命名空间开始.
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |