2

我正在尝试用 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

我想补充一点,当用户选择一门课程时,他们可以选择该课程所需的不同事件,并将这些事件分配给他们,而不是让他们获得所有事件。

4

1 回答 1

0

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

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

如果任一侧被删除,我还将在用户和事件上添加一个依赖销毁,并销毁连接记录。

于 2013-03-08T02:13:14.053 回答