干草开发者,
当我调用 @ chapter.articles 时,rails会产生以下错误:
uninitialized constant Sommaire::Chapter::Article
如果我指定:class_name => “Sommaire ::文章”, 它产生:
uninitialized constant Sommaire::Chapter::Sommaire::Article
由于我对rails(3.0.0)相对较新,这让我失望了!
提前感谢您的帮助。 JD
在类的代码下面 在 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
答案 0 :(得分:3)
值得尝试class_name => '::Sommaire::Article'
(注意前面的::
)来表明Sommaire路径来自根命名空间。
虽然在Sommaire
命名空间和Sommaire
模型之间存在一些冲突,但在这种情况下您可能想要重命名其中一个。