1

我正在努力弄清楚为此的数据库设计,但我无法完全理解。

AUser属于许多,每个Networks都有一个。多个可能在一个(管理员、编辑器、查看器等)中有相同的。主要数据是一个. A可以根据他们在.RoleNetworkUsersRoleNetworkEventUserEventsRoleNetwork

用户是否通过 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

我不知道我是否离我很远,或者真的很接近我正在寻找的东西。任何帮助表示赞赏。

4

0 回答 0