dub*_*ace 2 ruby metaprogramming
我怎么解决它?
class Person
end
class Person < ActiveRecord::Base
end
TypeError: superclass mismatch for class Person.
Run Code Online (Sandbox Code Playgroud)
我想重新初始化一堂课.
一旦你在ruby中创建了一个类,就不能通过重新打开它来改变它的超类.这就是你收到TypeError: superclass mismatch for class Person.错误的原因.
其他答案提供了替代方案,但重要的是要注意,它们都没有修改现有的Person类,但实际上创建了一个新类,并将旧的Person常量重新分配给新类,这在@ user1158559在其答案中已经说明的限制下.