【发布时间】:2014-08-25 21:10:38
【问题描述】:
在我的 web 应用程序中,我的用户注册页面有一个组织名称字段。我有一个 has_many :users 的组织模型和我的用户模型 belongs_to :organization。创建新用户时,我希望使用组织名称值来创建新组织记录,并将其与用户相关联,这样 user.organization_id = 新组织 ID。
这是我的 users_controller.rb 代码:
class UsersController < ApplicationController
def new
@user = User.new
end
def show
@user = User.find(params[:id])
@organization = Organization.find(@user.organization_id)
end
def create
@organization = Organization.new(organization_params)
@user = User.new(user_params)
if @user.save && @organization.save
sign_in @user
redirect_to @user
flash[:success] = "Welcome to the App!"
else
flash.now[:danger] = "Uh oh, there's been an error"
render 'new'
end
end
private
def user_params
params.require(:user).permit(:name, :email, :password,
:password_confirmation)
end
def organization_params
params.require(:organization).permit(:name)
end
end
目前,当用户提交注册表单时,正在创建用户记录和组织记录,但未保存关联。 user.organization_id 的值为 nil。
您能否评论一下出了什么问题,以及是否有一种好方法可以做我想做的事情——也许使用 .build?
谢谢! 布伦南
【问题讨论】:
标签: ruby-on-rails forms ruby-on-rails-4 associations