gpt4 book ai didi

ruby-on-rails - RoR表继承?

转载 作者:搜寻专家 更新时间:2023-10-30 20:22:26 25 4
gpt4 key购买 nike

场景:我的应用程序中有一个用户表。我还有两个用户子类,可以说是贡献者和观众。每个用户组必须具有一组完全不同的属性,但它们都共享某些用户属性(登录名、密码、名称)。

使用 Ruby on Rails 实现它的最佳方法是什么?

  • 我认为单表继承会留下太多空字段。
  • 我认为链接三个表(用户、查看者、贡献者)会很好,但是当我想编辑任何我必须做的信息时:@user.viewer,虽然我很乐意能够只做@viewer

有什么最佳解决方案吗?

最佳答案

我可能会采用三表方法。数据完整性高于代码清洁度。

如果你想让它看起来更整洁,将虚拟属性放在 Viewer 和 Contributor 模型上,使它看起来像 User 属性是本地的。您可以将其作为一个模块并将其包含在 Viewer 和 Contributor 模型中。

您还可以在默认查找器上设置一个 :include => :user,这样您在使用这些字段时就不会得到额外的查询。

我现在喝了很多咖啡因,所以如果觉得不对,请回复 :)

关于ruby-on-rails - RoR表继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/928036/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com