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

时间:2015-06-09 05:04:41

标签: ruby-on-rails has-and-belongs-to-many nested-resources

对于通用标题感到抱歉,但我目前还不确定如何更好地表达它。我终于有时间再次开始使用rails并在我构建模型时遇到了这个问题:

基本上我有一个父资源,它有两个嵌套资源。父级可以拥有许多子资源,每个子资源可以拥有一个父级。这部分工作正常。当我想在两个子资源之间建立has_and_belongs_to_many关系时,就会遇到困难。我不确定如何实现这一点,这样当我创建一个新的Child 1时,我可以将它与多个现有的Child 2相关联。

想象一下,就像我有一个User,Dog和Walk模型。用户是父母,但是每只狗都会走很多路,每次散步都可能有许多狗。

我一直在寻找这部分的任何教程而且没有太多运气。有人能指出我的潜在解决方案吗?

1 个答案:

答案 0 :(得分:0)

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

对于此关联,您将拥有一个连接表作为dogs_walks,他们没有模型,并且将具有dog_id,walk_id属性,并且它不会将id作为主键