Ruby on rails “构建”和“构建”之间的差异;分配;儿童协会?

Ruby on rails “构建”和“构建”之间的差异;分配;儿童协会?,ruby-on-rails,activerecord,build,associations,assign,Ruby On Rails,Activerecord,Build,Associations,Assign,我很好奇使用“build”或直接为关联指定一个孩子之间有什么区别 假设我已经有一个@user实例,我只想创建与组织的子关联: 方法1: @organization = Organization.new @organization.build_user(@user.attributes) @organization = Organization.new @organization.user = @user 方法2: @organization = Organization.new @organ

我很好奇使用“build”或直接为关联指定一个孩子之间有什么区别

假设我已经有一个@user实例,我只想创建与组织的子关联:

方法1:

@organization = Organization.new
@organization.build_user(@user.attributes)
@organization = Organization.new
@organization.user = @user
方法2:

@organization = Organization.new
@organization.build_user(@user.attributes)
@organization = Organization.new
@organization.user = @user

两者都做相同的事情,对吗?

如果一个
组织
有一个
用户
,那么直接分配一个关联需要
@User
成为
用户
对象才能工作,否则它很容易抛出错误<代码>生成处理关联并自动设置外键。e、 g

将工作:

@organization.build_user({username: "User"})
@organization.user = User.new(username: "User")
将工作:

@organization.build_user({username: "User"})
@organization.user = User.new(username: "User")
不起作用:

@organization.user = {username: "User"}

好的,只要@user是合法的对象,那么这两种方法是完全相同的?这就是我所期望的,只是想确定一下。谢谢