使用命名空间类时解决“NameError未初始化常量”的麻烦?

我正在使用rails v3.2.2。 我有两个类如下:

# app/models/article/category/article_relationship.rb class Article::Category::ArticleRelationship < ActiveRecord::Base ... end # app/models/comment/category/article_relationship.rb class Comment::Category::ArticleRelationship < ActiveRecord::Base ... end # app/models/article/category.rb class Article::Category < ActiveRecord::Base ... end # app/models/article.rb class Article < ActiveRecord::Base ... end 

如果在我的视图文件中我说

 ::Article::Category::ArticleRelationship # or Article::Category::ArticleRelationship 

我收到以下错误:

 NameError uninitialized constant Category::ArticleRelationship 

我该如何解决这个问题?


UPDATE

当我同时在同一个文件中声明多个命名空间类时,我发现问题“大部分”发生,例如:

 ::Article::Category::ArticleRelationship ::Article::Category # or ::Comment::Category::ArticleRelationship ::Article::Category # or ::Article::Category ::Article::Category::ArticleRelationship # or ::Article::Category::ArticleRelationship Article::Category # or Article::Category::ArticleRelationship ::Article::Category # or ::Article::Category::ArticleRelationship ::Article # or ::Article ::Comment::Category::ArticleRelationship # or ... 

它似乎是随机发生的


注意 :这个问题是由@Frederick Cheung对这个问题的回答“启发”的。