Ruby on rails 3 如何使用acts as taggable on在rails上构建标记层次结构
我有一个rails应用程序,其中包括使用gem作为标记来标记博客文章。我的想法是使用适度的链接方法扩展这个gem的标记机制,我可以选择创建一些用户作为标记所有者,他们可以选择将一个标记链接到另一个标记作为父/子标记 目前该系统有独立的标签,如Ruby on rails 3 如何使用acts as taggable on在rails上构建标记层次结构,ruby-on-rails-3,hierarchy,tagging,acts-as-taggable-on,Ruby On Rails 3,Hierarchy,Tagging,Acts As Taggable On,我有一个rails应用程序,其中包括使用gem作为标记来标记博客文章。我的想法是使用适度的链接方法扩展这个gem的标记机制,我可以选择创建一些用户作为标记所有者,他们可以选择将一个标记链接到另一个标记作为父/子标记 目前该系统有独立的标签,如教育,儿童教育和远程教育 教育的标签所有者可以选择儿童教育和远程教育 作为第一级子级,并将它们链接在一起。在分类学家(标记管理员)批准之前,此关系将不可见 类似地,最终用户还可以建议远程教育标签成为教育的子项,标签管理员将看到该请求。根据他的批准,将建立这种
教育
,儿童教育
和远程教育
教育
的标签所有者可以选择儿童教育
和远程教育
作为第一级子级,并将它们链接在一起。在分类学家(标记管理员)批准之前,此关系将不可见
类似地,最终用户还可以建议远程教育
标签成为教育
的子项,标签管理员将看到该请求。根据他的批准,将建立这种关系
以下是与上述要求相关的几个问题:-
我记得4年前和你做过类似的事情 还有一个如何手动执行的示例 这两个选项都需要标记表上的parent_id列,而且非常简单。只需在models文件夹中创建一个tag.rb并扩展tag类
注:这已经有很长一段时间了,但我记得必须检查是否存在循环,请记住这一点谢谢Trompa。我认为这个答案解决了我的大部分问题。@Trompa-没有循环?这到底意味着什么?通过parent\u id创建的树上的循环。您可以执行类似于A->B,B->C,C->A的操作。(C.parent\u id=B,B.parent\u id=A,A.parent\u id=C)