嵌套资源 rails 拥有并属于许多资源

nested resources rails has and belongs to many

抱歉使用了通用标题,但我现在不确定如何更好地表达它。我终于有时间重新开始学习 rails,并在构建模型时遇到了这个问题:

基本上我有一个 parent 资源,它有两个嵌套资源。 parent 每个 child 资源可以有多个,每个 child 资源可以有一个 parent。这部分工作正常。当我想在两个 child 资源之间建立 has_and_belongs_to_many 关系时,困难就来了。我不确定如何实现这一点,以便在创建新的 Child 1 时,可以将其与多个现有的 Child 2 相关联。

想象一下,我有一个 User、Dog 和 Walk 模型。用户是 parent,但每只狗都会散步很多次,每次散步可能有很多只狗。

我一直在寻找这部分的任何教程,但一直没有找到。有人可以指出我潜在解决方案的方向吗?

dog.rb

has_and_belongs_to_many :walks

walk.rb

has_and_belongs_to_many :dogs

创建对象:

@walk = Walk.last
@dog = Dog.last
@walk.dogs << @dog

对于此关联,您将有一个 table 作为 dogs_walks 的连接,他没有模型,但具有 dog_id、walk_id 和 walk_id 的属性它不会有 id 作为主键