0

标题显然令人困惑,所以让我开始吧。

class Resume < ActiveRecord::Base
    has_many :references
end

class Reference < ActiveRecord::Base
    has_one :phone
end

class Phone < ActiveRecord::Base
end  

所以我正在使用 cocoon 并simple_fields_for :phone填充我需要在创建的每个参考对象上运行 build_phone。

同样,我有简历 has_one basic_info has_one 电话。我能够像这样构建它

@resume.build_basic_info
@resume.basic_info.build_phone  

但在这种情况下,我有:

@resume.references.build
@resume.references.first.build_phone

给我错误unknown attribute: reference_id

那么,如何为 cocoon 形式的引用建立电话关联,并将其建立在 cocoon 中新引用的每个实例化之上?

编辑:我没有reference_id电话。多亏了@vee,我有了更好的方法来处理现有模型。所以代码现在可以工作了。

仍然需要弄清楚如何在 cocoon 中的每个新调用上运行 build_phone link_to_add_association

4

1 回答 1

0

您可以在构建引用时传递一个块:

@resume.references.build do |r| 
  r.build_phone
end 
于 2014-08-28T18:17:51.100 回答