0

所以我有三个课程:

MyModule::Base
MyModule::Artist
MyModule::Song

MyModule::Artist继承自MyModule::Base并因此可以访问其所有实例方法,并声明如下:

module MyModule
  class Artist < MyModule::Base

这一切都按预期工作。但是,当我尝试添加第三个类(MyModule::Song)来继承时,也MyModule::Base像这样:

module MyModule
  class Song < MyModule::Base

我得到一个NameError. '未初始化的常量'。好像MyModule::Base根本不存在!我是否遗漏了一些关于 Ruby 中类继承的基本知识,还是其他什么?

谢谢。

4

1 回答 1

2

我查看了您的存储库,发现当您通过in正确地要求您的Base模块时,您使用大锤来破解坚果 in 。require_relativeArtistrequireSong

由于有点 system-wide base,它被加载而不是预期的 local Echonest::Base。一起去require_relative享受吧。

希望有帮助。

于 2013-02-10T13:08:09.320 回答