我使用Ruby on Rails的下面的類結構中的父類每個子類的方法:Ruby on Rails的 - 呼叫從
class Parent
def self.parse
self.subclasses.each(&:parse) # how to fix this?
end
end
class Child1 < Parent
def self.parse
# ...
end
end
class Child2 < Parent
def self.parse
# ...
end
end
我想這樣做:
Parent.parse
=> Child1.parse and Child2.parse
但實際上子類沒有加載,所以subclasses
方法給出空數組。
有沒有簡單的方法來做這個非常普通的任務?
你想acomplish什麼?父類不能訪問孩子的。也許你需要以另一種方式完成。請參閱http://stackoverflow.com/questions/11074175/how-to-return-new-instance-of-subclass-while-initializing-parent-class – tegon