gpt4 book ai didi

ruby-on-rails - 如何将属于 "has many :through"一半的项目分配给关联的另一半?

转载 作者:太空宇宙 更新时间:2023-11-03 16:53:43 26 4
gpt4 key购买 nike

我正在尝试用 Ruby 为我的数据库建模,但不知道该怎么做。

这是我目前所拥有的:

class Course < ActiveRecord::Base
has_many :enrolled_ins
has_many :users, :through => :enrolled_ins
has_many :events, :dependent => :destroy
end

class User < ActiveRecord::Base
has_many :enrolled_ins
has_many :courses, :through => :enrolled_ins
end

class EnrolledIn < ActiveRecord::Base
belongs_to :users
belongs_to :courses
end

class Event < ActiveRecord::Base
belongs_to :courses
end

我想补充一点,当用户选择一门类(class)时,他们可以选择他们想要的与该类(class)相关的不同事件,这些事件会分配给他们,而不是让他们获得所有事件。

最佳答案

我会添加一个 UserEvents 连接。添加类(class)时,您会看到可用事件列表。假设您有一个带有复选框的表单,您将创建 UserEvent 记录。我认为您不需要所有 3 个 ID 值(用户、事件、类(class))。类(class)只是对各种事件进行分组的一种方式。

class UserEvent < ActiveRecord::Base
belongs_to :user
belongs_to :event
end

我还会添加一个依赖于用户的销毁,如果任何一方被删除,事件都会销毁连接记录。

关于ruby-on-rails - 如何将属于 "has many :through"一半的项目分配给关联的另一半?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15285279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com