我有一个 Rails 应用程序,其中包括使用 gem 作为可标记的博客文章的标记。我的想法是使用中等链接方法扩展此 gem 的标记机制,我可以选择创建一些用户作为标签所有者,他们可以选择将一个标签链接到另一个标签作为父/子。
目前该系统有独立的标签,如Education
, Child Education
和Distance Education
的标签所有者Education
可以选择选择Child Education
和Distance Education
作为第一级孩子并将它们链接在一起。在分类学家(标签管理员)批准之前,这种关系是不可见的。
同样,最终用户也可以建议Distance Education
标签成为其子标签,Education
并且该请求将对标签管理员可见。在他的同意下,双方的关系将建立。
这些是我与上述要求有关的几个问题:-
是否建议扩展 gem 或者我应该使用从头开始编写的独立标记模型来支持这个分层系统?
如果我继续使用 gem 提供的模式,应该使用什么样的模型来设计这样的需求。具体来说,我应该使用带有标签 id 和标签名称的 parent_id 列的单个表吗?或者我应该在具有多对多关联(tag_id、parent_tag_id(作为外键))的单独表中维护它们的关系。
我也是数据结构的新手,所以我需要一些关于算法选择的初始输入,以便在标签系列之间有效地遍历。使用链表是我的选择之一,但是考虑到 Rails 的约定优于配置的口头禅,我真的不确定如何继续进行。