Active Record 深入解析:对象操作、验证与性能优化
树结构操作
在操作树结构时,我们可以使用之前为 acts as list 代码编写的 display_children 方法。以下是具体示例:
display_children(root)
# Fiction, Non Fiction
sub_category = root.children.first
puts sub_category.children.size
#=> 3
display_children(sub_category)
#=> Mystery, Romance, Science Fiction
non_fiction = root.children.find(:first, :conditions => "name = 'Non Fiction'")
display_children(non_fiction)
#=> Art History, Computers, Science
puts non_fiction.parent.name
#=> Books
操作子节点的各种方法与 has_many 提供的方法类似。实际上, acts_as_tree 的实现只是建立了一个 belongs_to 属性和一个 has_many 属性,它们都指向同一个表,就像下面的代码:
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



