拥有一个具有相同名称的模块和类

时间:2011-06-05 19:27:17

标签: ruby-on-rails ruby

我有一个目录结构中存在的模块统计信息:lib / stat_creator / stat /

在lib / stat_creator / stat.rb中,我有我需要的lib / stat_creator / stat /目录中的文件,以及:

module StatCreator
    module Stat
    end
end

当我使用该模块时,我将这些类称为

StatCreator::Stat::Foo.new 

现在我想要一个存在于app中的根Stat类。我已经在app / models中创建了我的Stat类,并在routes.rb中进行了设置。但是如果我去rails控制台并尝试在app / models中使用Stat类:

Stat.by_user_id("ID")

我收到错误:LoadError:预期../lib/stat_creator/stat.rb来定义Stat

我认为使用命名空间的目的是为了避免这种冲突,所以我不明白我做错了什么。

1 个答案:

答案 0 :(得分:9)

我会这样做:

::Stat.by_user_id("ID")
相关问题