0

我有一个与另一个命名空间模型Collection::Publicationhas_many关系的命名空间模型Library::Publication。关联声明如下所示:

has_many :library_publications, :dependent => :destroy, :class_name => "Library::Publication"

然而,当我尝试这样的事情时:

@collection_publication.library_publications

我收到此错误:

NameError at /
uninitialized constant Collection::Publication::Library::Publication

似乎 Rails 正在命名关联模型,即使我明确定义了class_name. 我是否正确理解这一点?如果是这样,我能做些什么来纠正这种情况?

4

1 回答 1

0

这是由于Library::Publication声明中的拼写错误:

class Libary::Publication
  ...
end

尽管错误消息声明它没有找到Collection::Publication::Library::Publication,但这一定是它最后看到的地方。一旦Library::Publication正确定义,Rails 发现它没有问题。

于 2013-04-24T16:55:46.277 回答