所以我有三个班级:
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中类继承的基本信息,还是其他的东西?
感谢。
答案 0 :(得分:2)
我看了一下您的回购邮件,发现虽然您在Base
中通过require_relative
正确要求Artist
模块,但您使用大锤require
来破解Song
中的坚果。
由于系统范围内有base
,因此正在加载而不是预期的本地Echonest::Base
。只需与require_relative
一起享受吧。
希望有所帮助。