首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跟踪进度,学习管理系统,Rails 4,架构问题

跟踪进度,学习管理系统,Rails 4,架构问题
EN

Stack Overflow用户
提问于 2015-04-28 12:49:30
回答 1查看 853关注 0票数 2

我目前正在用rails 4构建一个学习管理系统,我正在努力提高我的技能。我不知道如何实现下面的迭代。

每个学生都有很多课程,每门课程都有很多课程,因此每个学生都有很多课程。

模型:用户课程课程

我要做的是实现一个跟踪进度系统,这样当用户看完视频后,他点击下一个视频,然后就可以在他们的个人资料页面上看到进度。

我应该如何实施它,有什么建议吗?跟踪过程对我来说是真正的痛苦,我不知道该如何做!对不起,如果我不够清楚的话。任何帮助都将不胜感激!谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-28 13:30:03

您应该根据现实世界中的实体以及它们之间的关系,为类绘制一个简单的UML图。首先要确保您有所有的类来建模课程的实际结构。“课程”和“课程”真的足够了吗?有那么简单吗?

然后,添加新的类来跟踪用户的进度。我会在所有这些类名前加上相同的单词,比如“查看”。这是尽可能简单的(可能太简单了,我怀疑)。我假设一堂课包含了一段视频,所以当他们看完视频后,他们就完成了这节课。它可能没有那么简单,但你没有指定任何其他要求(如课程作业)。

代码语言:javascript
运行
复制
class Course
  has_many :lessons

class Lesson
  #fields: course_id
  belongs_to :course

class User
  has_many :viewed_lessons
  has_many :viewed_courses

class ViewedLesson
  #fields: user_id, lesson_id, completed(boolean)  
  belongs_to :user
  belongs_to :lesson

class ViewedCourse
  #fields: user_id, course_id, completed(boolean)  
  belongs_to :user
  belongs_to :course      

当用户注册一门课程时,您会为他们创建一个viewed_course记录。您可以通过查找没有viewed_lesson的第一课和标记为已完成的用户来确定下一课是哪一课。

当他们完成视频时,您将相应的课程标记为已完成,这意味着上面的逻辑将提示下一个视频。当课程中的所有课程都完成时,您也可以将viewed_course标记为已完成。

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

https://stackoverflow.com/questions/29920012

复制
相关文章

相似问题

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