Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何从模块中访问顶级模型?_Ruby On Rails_Activerecord_Module - Fatal编程技术网

Ruby on rails 如何从模块中访问顶级模型?

Ruby on rails 如何从模块中访问顶级模型?,ruby-on-rails,activerecord,module,Ruby On Rails,Activerecord,Module,在这个应用程序中,有两个非常相似的模型:/app/models/material.rb和app/models/projects/material.rb。项目命名空间是此应用程序中存在的模块的一部分 在/app/controllers/projects/materials\u controller中,我试图根据根命名空间的材质属性更新材质。(这是一种同步,更新成本。) 但是,在这个控制器的范围内,Material实际上是Projects::Material。此时我需要访问材料 我该怎么做?我想您可

在这个应用程序中,有两个非常相似的模型:
/app/models/material.rb
app/models/projects/material.rb
项目
命名空间是此应用程序中存在的模块的一部分

/app/controllers/projects/materials\u controller
中,我试图根据根命名空间的材质属性更新材质。(这是一种同步,更新成本。)

但是,在这个控制器的范围内,
Material
实际上是
Projects::Material
。此时我需要访问
材料


我该怎么做?

我想您可以使用以下语法:

::Material

您可以预先添加
以从模块中访问顶级命名空间<代码>::材料应参考您的型号。

谢谢您的帮助@Slicedpan得到了好评,因为他/她只是快了一点。在你解释了我想做什么之后,修改了我的问题。也谢谢你。