首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails:重构单表继承以遵循DRY原则?

Rails:重构单表继承以遵循DRY原则?
EN

Stack Overflow用户
提问于 2014-08-19 07:56:35
回答 1查看 96关注 0票数 0

我正在创建一个学习管理系统,管理员可以在其中创建课程并将其分配给用户。A课程has_many课程,用户将课程标记为完成。

现在,我想扩展这个特性并添加一个文档模型,管理员可以在其中上传文档并将其分配给用户。然后,用户必须来到平台并将文档标记为已完成,这与他们与课程的交互方式类似。

我知道我应该从AssignableMaterial这样的模型开始,并从AssignableMaterial继承课程和文档,但我没有想到我会添加文档。在添加文档的同时仍然使用课程中的“分配”功能和课程中的“标记为完成”功能的最佳方法是什么?

文档可以从课程继承吗?或者我是否必须将所有与课程/课程相关的方法移动到一个父模型AssignableMaterial中,然后从该父模型继承文档?

EN

回答 1

Stack Overflow用户

发布于 2015-05-08 04:28:13

也许最好的策略是将Document和module的共同特性提取到一个“关注点”中-- Document和module将保持从ActiveRecord::Base直接继承的单独类,在数据库中有单独的表,但是它们之间的共同行为将存在于一个模块中,这两个模块都包含。

有关概述,请参阅此问题:How to use concerns in Rails 4

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25373782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档