29、Active Record 深入解析:对象操作、验证与性能优化

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 属性,它们都指向同一个表,就像下面的代码:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值