0
除去类的定义后,我有下面的代码片段是元编程创建Vehicle
类的子类:Rails的动态重新Class.subclasses与remove_const
class Vehicle; end
klazz = Class.new(Vehicle)
Object.const_set('Car', klazz)
没有看中这里。正如我所料,Vehicle.subclasses
会返回我[Car]
阵列。
接下来,我删除与类车的定义:
Object.send(:remove_const, :Car)
和我惊讶的是,subclasses
不是动态重新加载,如:
Vehicle.subclassess.count == 1
我很想知道我可以重新加载子类,或者如果我使用remove_const
的方式是错误的。 TIA
此'Vehicle.subclasses'方法来自哪里?我没有一个。 –
'子类'可能来自'ActiveSupport' –
@SergioTulentsev它来自铁路,请原谅我,它不是只有红宝石。那么有没有办法用ruby检索Vehicle的子类? –