2

干草开发人员,

当我调用@chapter.articles时,rails 会产生以下错误:

uninitialized constant Sommaire::Chapter::Article

如果我指定:class_name => "Sommaire::Article"事件,它会产生:

uninitialized constant Sommaire::Chapter::Sommaire::Article

由于我对rails(3.0.0)比较陌生,这让我失去了!

在此先感谢您的帮助。京东


sommaire.rb中的类的代码下方

class Sommaire < ActiveRecord::Base
  has_many :chapters
end

sommaire/chapter.rb中

class Sommaire::Chapter < ActiveRecord::Base
  include ItemBase

  def self.table_name
    'sommaire_chapters'
  end

  belongs_to :sommaire
  has_many :articles, :class_name => "Sommaire::Article"
  validates_presence_of :title, :description

end

sommaire/article.rb中

class Sommaire::Article < ActiveRecord::Base

  include ItemBase

  def self.table_name
    'sommaire_articles'
  end

  belongs_to :chapter

end
4

1 回答 1

3

值得尝试class_name => '::Sommaire::Article'(注意前面::)表明 Sommaire 路径来自根命名空间。

尽管Sommaire名称空间和Sommaire模型之间可能存在一些冲突,但在这种情况下,您可能需要重命名其中一个。

于 2010-08-24T10:16:51.457 回答