Active Record的高级特性与扩展
1. 嵌套集合(Nested Sets)
1.1 嵌套集合的作用域设置
在处理嵌套集合时,可以通过不同方式设置作用域。例如,对于 Comment 类,可以使用以下方式:
class Comment < ActiveRecord::Base
acts_as_nested_set :scope => :related # 实际上使用 related_id 列
end
class Comment < ActiveRecord::Base
acts_as_nested_set :scope => :related_id # 实际上使用 related_id 列
end
如果需要更精细的控制,可以传入一个完整的字符串作为 where 子句。例如,限制集合仅包含 related_id 等于零的记录:
class Comment < ActiveRecord::Base
acts_as_nested_set :scope => "related_id = 0"
end
1.2 嵌套集合提供的方法
假设 comments 表具有以下默认列:
| 列名 | 类型 | 说明 |
| ---------- | ----------
超级会员免费看
订阅专栏 解锁全文
41

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



