我正在努力弄清楚为此的数据库设计,但我无法完全理解。
AUser
属于许多,每个Networks
都有一个。多个可能在一个(管理员、编辑器、查看器等)中有相同的。主要数据是一个. A可以根据他们在.Role
Network
Users
Role
Network
Event
User
Events
Role
Network
用户是否通过 through 访问事件?
class User < ActiveRecord::Base
has_many :roles
has_many :networks, :through => :roles
has_many :events, :through => :networks
end
class Role < ActiveRecord::Base
belongs_to :network
has_many :users
end
class Networks < ActiveRecord::Base
has_many :roles
has_many :users, :through => :roles
has_many :events
end
class Events < ActiveRecord::Base
belongs_to :network
has_many :roles, :through => :network
has_many :users, :through => :roles
end
我不知道我是否离我很远,或者真的很接近我正在寻找的东西。任何帮助表示赞赏。