0
我試圖將兩個類似的方法合併成一個,但是我遇到了一些問題。移動到一個方法會導致`未定義的方法`
目前:
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>
任何想法?
+0 Ruby沒有靜態方法。 –
對不起,這是一種類方法。我的錯。 –