Myk*_*bak 2 ruby-on-rails ancestry
我的应用程序中有祖先树.
我想仅在同一级别上实现记录的唯一性.
让我解释
记录:
#<Folder id: 1, title: "folder1", ... ancestry: nil>,
#<Folder id: 2, title: "folder2", ... ancestry: "1">,
#<Folder id: 3, title: "folder3", ... ancestry: "1/2">
Run Code Online (Sandbox Code Playgroud)
如果我想创建folder (:title => 'folder2', :ancestry => '1')它应该引发错误title is olready taken,
但如果我创建 folder (:title => 'folder2', :ancestry => nil or "1/2")它应该创建新的记录.
可能有人有这个问题,可以给出建议或答案
(在祖先方法中@ elem.siblings返回@elem级别的所有记录)
唯一性验证器可以接受scope参数:
validates_uniqueness_of :title, :scope => :ancestry
Run Code Online (Sandbox Code Playgroud)
它现在将验证该标题在具有相同祖先值的记录中是唯一的.
| 归档时间: |
|
| 查看次数: |
240 次 |
| 最近记录: |