我该如何通过Association建立一个has_one?

时间:2013-10-28 15:19:29

标签: ruby-on-rails ruby-on-rails-3 associations has-one-through

对于has_one关联,我可以建立这样的关联:

foo.build_bar()

我应该如何建立has_one, through:关联?

例如:

class Foo

  has_one :bar
  has_one :baz, through: :bar

end

我应该如何构建baz?在此示例中,foo.build_baz为我提供了No Method Error

文档here说:

  

声明has_one关联时,声明类   自动获得与关联相关的四种方法:

association(force_reload = false)
association=(associate)
build_association(attributes = {})
create_association(attributes = {})

然而,情况似乎并非如此。使用Pry来内省Foo的实例我可以看到没有添加这样的方法,就像has_one没有through:时那样。

1 个答案:

答案 0 :(得分:4)

似乎有一种可能性:

foo.build_bar().build_baz()
foo.save!