4

我有一个用户和个人资料模型,我使用相同的表单来填充它们。在我的控制器中,我有一行:@user.build_profile

我想知道这条线是做什么的。用户和个人资料是一一对应的,个人资料属于用户。

我还有一个名为 image 的新模型,我想使用嵌套属性与用户建立一对多的关系。在用户 coltroller 中的新操作中,我应该使用与上述类似的行吗?@user.build_image

完整的新动作:

def new         
    @user = User.new
    @user.build_profile


    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @user }
    end
  end
4

1 回答 1

9

build_profile 将创建一个空的配置文件对象(属于@user)。稍后在创建操作中,您将调用

@user.save 

这会将配置文件(连同用户)保存到数据库中。

http://guides.rubyonrails.org/association_basics.html -解释它

编辑:对于 has_many 关系,您可以调用

@user.images.build 

创建一个新的图像模型。这个铁轨铸件越过它

http://railscasts.com/episodes/196-nested-model-form-part-1

于 2012-10-22T21:31:47.947 回答