首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Rails中创建belongs_to多个用户的资源

如何在Rails中创建belongs_to多个用户的资源
EN

Stack Overflow用户
提问于 2018-04-14 21:42:27
回答 1查看 145关注 0票数 0

我正在建立一个有用户和品牌的应用程序。大多数用户将不会与一个品牌相关联,并且只能在品牌页面上发表评论。然而,一些用户将与单一品牌联系在一起。我希望这些用户成为“管理员”或该品牌的所有者。例如,用户A和B都是品牌的“管理员”,因此可以创建/编辑/更新品牌等等。我的问题是,如何设置品牌资源,使其成为"belongs_to“多个用户?我知道我可以说是品牌have_many用户,但是说对象“有”用户是不是很奇怪呢?“属于”用户更合适吗?这一描述让我相信:“例如,说供应商拥有帐户比帐户拥有供应商更有意义。”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-14 22:44:44

这绝对是has_many的关系。

但是,将这些特殊用户称为“管理员”或“管理员”可能会更清楚一些。

代码语言:javascript
复制
class Brand
  has_many :administrators, class_name: 'User'
end

如果一个用户可以成为多个品牌的管理员,那么您将需要一个连接表,或者是HABTM或HMT。HMT是更好的选择,以防您想要存储关于连接的特性(例如,当他成为管理员时)。

代码语言:javascript
复制
class BrandUser
  belongs_to :user
  belongs_to :brand
end

class Brand
  has_many :brand_users
  has_many :administrators, through: :brand_users, source: :user
end

class User
  has_many :brand_users
  has_many :brands, through: :brand_users
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49836462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档