我很好奇使用" build"或者只是直接为孩子分配协会?
假设我已经有一个@user实例,我只想创建一个组织的子关联:
方法1:
@organization = Organization.new
@organization.build_user(@user.attributes)
方法2:
@organization = Organization.new
@organization.user = @user
两者都做同样的事,对吧?
答案 0 :(得分:0)
如果Organization
有User
,则直接指定关联需要@user
成为User
对象才能正常工作,否则很容易引发错误。 build
处理关联并自动设置外键。 e.g。
会工作:
@organization.build_user({username: "User"})
会工作:
@organization.user = User.new(username: "User")
无效:
@organization.user = {username: "User"}