我正在尝试开发我的第一个 Rails 应用程序,在我开始实际实施我的想法之前,我希望能在我的关联规划方面获得一些帮助。
我的应用程序将成为一个教育工具,并且我有一些需要实现的基本功能。我希望有可以注册和创建课程的学生。在这些课程中,将有一个用户是老师,其余的是学生。课程中将包含教师创建的作业,用户需要提交作业。这些是基础。最终我想添加更多功能,但现在我只需要设置基础。
到目前为止,这是我对关联应该是什么样子的想法:
class User < ActiveRecord::Base
has_many :enrollments
has_many :courses, :through => :enrollments
end
class Course < ActiveRecord::Base
has_many :enrollments
has_many :users, :through => :enrollments
end
class Enrollment < ActiveRecord::Base
belongs_to :user # foreign key - user_id
belongs_to :course # foreign key - course_id
end
但是,目前我遇到了如何正确处理其余关联的经验不足的问题。我可能会破解一些东西,但我更愿意在第一次时尽可能做到最好。
我如何处理与作业和提交相关的关联?据推测,学生的提交应该属于他们,但它也与班级内的作业特别相关。作业源自课程,但也与用户密切相关。
最后,处理用户和他们创建的类之间关系的最佳方式是什么?用户创建课程。那门课属于他们吗?我是否应该在课程表中添加一列来存储创建者的 ID?等等。
谢谢您的帮助。