对于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:
时那样。
答案 0 :(得分:4)
似乎有一种可能性:
foo.build_bar().build_baz()
foo.save!