【发布时间】:2015-07-10 12:18:10
【问题描述】:
我正在尝试在 Rails 4 中为学校课程创建一个带有子类别的模型:
有 3 种型号: - 类别 - 话题 - 级别
类别例如:科学、语言、备考,不会超过 15~20。 题目例如:数学、物理、英语、西班牙语,不会超过30~50。 等级例如:高中,研究生,不会超过5~7。
第一种方法:
创建 3 个单独的模型并添加关系
Category has_many :topics
Level has_many :topics
Topic belongs_to :category
Topic belongs_to :level
第二种方法
创建2个表:Category和Topic,Category同上,Topic将级别保存在同一个表中作为嵌套的子类别。父主题是数学,子主题是数学 - 高中。
Category has_many :topics
Topic belongs_to :category
Topic has_many :subtopics (parent_id foreign key)
SubTopic belongs_to :parent_topic
第一种方法是我最初的想法,但处理这种情况的 3 种不同模型似乎很多。对于这种情况有什么建议吗?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4