我有板模型。板可以订阅其他板(作为提要)。假设我有这样的板树:
http://upload.wikimedia.org/wikipedia/commons/thumb/f/f7/Binary_tree.svg/200px-Binary_tree.svg.png
所以:
Board.find(2).feeds
板 5 和 7
Board.find(7).feeds
是板 2 和 6 等等。
我想编写一种方法all_feeds
,该方法返回某个板的所有级别的所有提要。例如:
Board.find(7).all_feeds
将输出 ID 为 2、6、5、11 的板数组
我从以下内容开始:
def all_feeds
if feeds.empty?
return
else
feeds.each {|feed| feed.all_feeds}
return feeds
end
end
可能必须将此返回提要添加到某个全局数组中,但不确定我应该如何执行此操作。
感谢帮助。
附言。这并不总是二叉树,您可以有超过 2 个提要。