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

时间:2012-04-21 02:08:18

标签: ruby-on-rails ruby ruby-on-rails-3 namespaces constants

我正在使用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

如何解决问题?


更新

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

::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对this question的回答“启发”了这个问题。

0 个答案:

没有答案