gpt4 book ai didi

ruby-on-rails - ActiveRecord 选择了错误的 class_name

转载 作者:行者123 更新时间:2023-12-04 06:47:23 31 4
gpt4 key购买 nike

干草开发人员,

当我调用@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

最佳答案

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

尽管 Sommaire 之间可能存在一些冲突。命名空间和 Sommaire在这种情况下,您可能希望重命名其中一个。

关于ruby-on-rails - ActiveRecord 选择了错误的 class_name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3555198/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com