现在发生的事情是,当用户选择让一本书属于作者时,他们做出的选择是完美的。但我希望这本书也能够同时与其他作者联系。
例如:《护符》由史蒂芬·金和彼得·斯特劳布共同撰写。目前,它只能与一位作者建立联系。举例来说,如果同一本书的名称被两个不同的作者使用。
App>模型
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并创建联接表的情况吗?
答案 0 :(得分:1)
护身符由斯蒂芬·金和彼得·斯特劳布共同撰写。目前只能与一位作者建立联系。
像这样的声音在这里需要多对多关系,因为一本书可以属于多个作者,而一个作者可以写多本书,所以是的,在这里指定has_and_belongs_to_many
关系并创建联接表是正确的方法。
例如,如果同一本书的名称被两个不同的作者使用。
我认为不同的书籍在数据库中应该具有不同的记录和ID,但是可以确定的要取决于您的特定用例。