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 瞧