我正在构建一个包含“课程”的教学应用程序。我想就存储用户完成课程的最佳方式提出一些意见。
我想我可以为用户做一些has_many到has_many课程。这是唯一的方法吗?
答案 0 :(得分:1)
我会有一个名为Achievement
的单独模型,其中包含用户has_many achievements
和课程has_many achievements
。 Achievement模型属于用户和课程。这将允许布尔值来确定课程是否已完成。您还可以向此模型添加额外属性,以便跟踪课程进度。
务必设置适当的验证器,如
validates :user_id, :uniqueness => {:scope => :course_id}
以便用户不能多次注册同一课程(如果这是您课程的参数)。