我有一个公司模型,accepts_nested_attributes_for :users
我的控制器看起来像这样:
def create
@company = Company.new(company_params)
if @company.save
redirect_to root_url
else
render 'new'
end
end
private
def company_params
params.require(:company).permit(:name, :company_size , users_attributes: [:id, :name])
end
我想要做的是将user中的admin布尔值设置为true。
基本上我正在做的是通过创建公司来注册用户,并注册他们的用户,从而使注册公司的人成为管理员。
答案 0 :(得分:0)
您可以在保存之前简单地更改用户对象。
def create
@company = Company.new(company_params)
@company.user.admin = true
if @company.save
redirect_to root_url
else
render 'new'
end
end
您也可以将其作为模型回调。但是你的实现可能有点天真。如果用户属于多家公司会怎样?