我有一个与另一个命名空间模型Collection::Publication
有has_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
。我理解正确吗?如果是这样,我该怎么办才能纠正这种情况呢?
答案 0 :(得分:0)
这是由于Library::Publication
声明中的拼写错误:
class Libary::Publication
...
end
虽然错误消息声明它没有找到Collection::Publication::Library::Publication
,但这一定只是它看起来的最后一个地方。正确定义Library::Publication
后,Rails会毫无问题地找到它。