这个问题来自于分解一个太大的问题。
Users
在 a 中创建Events
为Role
a Network
。然后将Events
它们连接到(在他们被雇用或解雇时可以占据Role
不同的位置)以及. 无论创建. _ _Users
Role
Event
Users
Roles
Events
Role
Event
有Role
可能被摧毁,但Event
只要存在,它就会一直Network
存在。(就像删除了一个职位,但他们仍然想要退休职位的数据。)
那么aEvent
和a可以分开吗?这是糟糕的轨道设计吗?还有另一种方法可以做到这一点吗?我是否会有一个特殊的“已退休”角色并始终将事件绑定到 a然后使用?belongs_to
Role
Network
Role
belongs_to :network, :through => :role
网络.rb
class Network < ActiveRecord::Base
has_many :roles
has_many :users, :through => :roles
has_many :events
end
角色.rb
class Role < ActiveRecord::Base
belongs_to :user
belongs_to :network
end
Event.rb - 这是对的吗?
class Event < ActiveRecord::Base
belongs_to :role
belongs to :network
end