Ruby on rails 3.1 一对一关系问题-Rails

Ruby on rails 3.1 一对一关系问题-Rails,ruby-on-rails-3.1,one-to-one,Ruby On Rails 3.1,One To One,我在用户和合作伙伴之间有一对一的关系。在我的用户模型中,我有以下内容: has_one :partner, :class_name => "Partner" 如果“relationship_status==coupled”,我想创建一个新的合作伙伴,然后让用户转到一个新表单来填写他/她的合作伙伴的信息。所以在我的UsersController中,我有 respond_to do |format| if @user.save && @user.relation_s

我在用户和合作伙伴之间有一对一的关系。在我的用户模型中,我有以下内容:

 has_one :partner, :class_name => "Partner"
如果“relationship_status==coupled”,我想创建一个新的合作伙伴,然后让用户转到一个新表单来填写他/她的合作伙伴的信息。所以在我的UsersController中,我有

respond_to do |format|
    if @user.save && @user.relation_status != "Coupled"
           format .html { redirect_to @user, notice: "User was successfully created ID   
      was #{@id} "}
           format.json { render json: @user, status: :created, location: @user }

         elsif @user.save && @user.relation_status == "Coupled"
           format .html { redirect_to partner_signup_path, notice: "Time for your patna"     
            }
           format.json { render json: @user, status: :created, location: @user }
    else
           format.html { render action: "new" }
           format.json { render json: @user.errors, status: :unprocessable_entity }
     end
   end
 end


在我的PartnersController中,我拥有成功创建新合作伙伴的基本新建和创建操作。显然,通过执行上面的操作,无法将合作伙伴的ID自动分配给用户的外键-合作伙伴ID。我如何才能正确地执行此操作?我应该在用户模型中这样做吗?我是个Rails新手。感谢您的帮助。

答案是在UsersController->session[:id]=@user.id中让用户保持会话状态。 然后在PartnersController中,我做了: @合作伙伴=合作伙伴。新建(参数[:用户]) @合作伙伴。保存 @user=user.find(会话[:id]) @user.partner=@partner