![](/img/trans.png)
[英]Rails has_many association through a belongs_to polymorphic association
[英]Rails 5 - belongs_to but has_many association
我当前正在尝试创建一个系统,允许特定用户创建可以由许多其他用户注册的课程记录。 我尝试了一些关联技术,例如has_and_belong_to_many
, has_many :through
和其他设置数量,但一直无法正确完成。
基本上我需要的是以下内容:
如果您有任何想法将如何完成,我将非常感谢您的投入。
我将使用Course
模型来表示课程信息,并使用user_id
属性将其与创建课程的用户相关联。 我还将创建一个称为Enrollment
的关联表/模型,它是User
和Course
之间的关联。 然后,您可以执行以下操作:
#User.rb
has_many :courses
has_many :enrollments
has_many :enrolled_courses, through: :enrollments, source: :course
#Enrollment.rb
belongs_to :course
belongs_to :user
#Course.rb
belongs_to :user
has_many :enrollments
has_many :users, through: :enrollment
使用此配置,您可以调用course.user
来接收创建课程的用户,但是您也可以调用course.users
来接收注册课程的用户。 在相反的一侧,您可以调用user.enrolled_courses
来接收用户正在注册的课程列表,或者可以调用user.courses
来接收用户已创建的课程列表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.