ruby-on-rails - Rails 的 Has_And_Belongs_To_Many 关系来处理多重所有权?
问题描述
现在发生的事情是,当用户选择让一本书属于作者时,他们会做出选择并完善。但我希望这本书也能够同时连接到不同的作者。
例如:护身符由斯蒂芬金和彼得斯特劳布共同撰写。现在它只能连接到一位作者。或者例如,如果同一本书的名称被两个不同的作者使用。
应用 > 模型
User
has_many :books
Book
belongs_to :user, optional: true
belongs_to :author, optional: true
Author
has_many :books, dependent: :destroy
这是我需要做 has_and_belongs_to_many 并创建连接表的情况吗?
解决方案
护身符由斯蒂芬金和彼得斯特劳布共同撰写。现在它只能连接到一位作者。
听起来您在这里需要多对多关系,因为一本书可以属于多个作者,而一个作者可以写多本书,所以是的,has_and_belongs_to_many
在这里指定关系并创建一个连接表是正确的方法。
或者例如,如果同一本书的名称被两个不同的作者使用。
我认为不同的书籍在数据库中应该有不同的记录和 ID,但肯定取决于您的具体用例。
推荐阅读
- ruby-on-rails - 三元运算符中可能发生 Nil 取消引用
- flutter - 自定义底部导航栏设计
- python - 无法从 CreateView 重定向
- rxjs6 - 如何将 distinct() 应用于 RxJS 对象数组?
- java - 如何为从方法返回的流启用“类型信息”?
- javascript - 如何在反应中将分钟转换为小时和分钟
- canvas - html2canvas 未定义
- amazon-web-services - EC2 Auto Scaling 扩展事件,同时代码部署过程正在进行
- angular-material - mat-side-nav 和 gridster2 的大小调整问题
- java - 无法在android 9中获取pdf路径