我正在尝试用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
我想补充一点,当用户选择课程时,他们可以选择他们想要的那些课程,并分配给他们,而不是他们获得所有的事件。
答案 0 :(得分:0)
我会添加一个UserEvents连接。添加课程时,您会看到可用事件列表。假设您有一个带复选框的表单,您将创建UserEvent记录。我认为您不需要所有3个ID值(用户,事件,课程)。课程只是将各种活动分组的一种方式。
class UserEvent < ActiveRecord::Base
belongs_to :user
belongs_to :event
end
我还会在用户和事件上添加依赖性破坏,如果删除了任何一方,则会破坏连接记录。