加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Ruby on Rails中的三重连接

发布时间:2020-12-17 03:33:28 所属栏目:百科 来源:网络整理
导读:我对 Ruby on Rails中的关联有疑问.在应用程序中有项目,用户,角色和组.该项目属于具有用户的组,用户可以属于许多不同的组,但在该组中只能有一个特定的角色.例如: 在一个组中,用户是项目所有者,但在另一个组中,他是作家. 使用Rails中的内置函数实现此目的的
我对 Ruby on Rails中的关联有疑问.在应用程序中有项目,用户,角色和组.该项目属于具有用户的组,用户可以属于许多不同的组,但在该组中只能有一个特定的角色.例如:

在一个组中,用户是项目所有者,但在另一个组中,他是作家.

使用Rails中的内置函数实现此目的的最佳方法是什么?

谢谢

解决方法

这是一套非常快速的模型,可以满足您的要求:

class User < ActiveRecord::Base
  has_many :group_memberships
  has_many :groups,:through => :group_memberships
end

class GroupMembership < ActiveRecord::Base
  belongs_to :user
  belongs_to :role
  belongs_to :group
end

class Role < ActiveRecord::Base
  has_many :group_memberships
end

class Group < ActiveRecord::Base
  has_many :group_memberships
  has_many :users,:through > :group_memberships
end

基本上有一个连接表,其中包含用户,组和角色ID.我将离开迁移作为提问者的练习

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读