2011-02-07 13 views

答えて

1

これはRubyで継承されたフックメソッドを使用することで解決できますので、すべての子を追跡できます。

class Parent 
self.inherited(base) 
    self.children << base 
    end 
end 

class Child < Parent 
def initialize 
    @@instances << self 
end 

def self.instances 
    @@instances 
end 

これで、Parent.children.each {| child | child.instances.collect(:&の名前)}。名前にアクセス可能であれば:-)

希望があれば!

+1

上記のように、私の子クラスがcreate_columnsを宣言する方法を私に許可するでしょうか? – David

+0

さて、私はcreate_columnsが読み込み可能なフィールドを作成すると仮定しているので、Parent.children.each(&:instances)を使ってアクセスできます。のように、この設定では、Parentは複数の子を持つことができ、各子は複数のインスタンスを持つことができます。 –

関連する問題