【问题标题】:Rails 4 Model Categories and Multiple SubCategoriesRails 4 模型类别和多个子类别
【发布时间】: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


    【解决方案1】:

    我认为最好的方法是循序渐进。从顶部水平的最少的开始。

    class Level
     has_many :categories
     has_many :topics,:through=>:categories
    end
    class Category
     belongs_to :level
     has_many :topics
    end
    class Topic
     belongs_to :Category
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-08
      • 2019-04-19
      • 2021-08-09
      • 2020-08-04
      • 1970-01-01
      • 2015-08-13
      • 1970-01-01
      相关资源
      最近更新 更多