我正在尝试将两种类似的方法组合成一个,但我遇到了一些问题。
目前:
def self.tree
self.projects.sort_by(&:name).map do |assembly|
[ assembly, assembly.assemblies.map(&:tree) ]
end
end
def tree
[ self, self.assemblies.map(&:tree), self.parts ]
end
我试过把它改成
def self.tree
self.build_tree( self.projects )
end
def tree
self.build_tree( [self] )
end
def build_tree( set )
set.sort_by(&:name).map do |assembly|
[ assembly, assembly.assemblies.map(&:tree), assembly.parts ]
end
end
但我只是得到undefined method 'build_tree' for #<Class:0x000000036a5588>
有任何想法吗?