2015-06-20 70 views
0

我有一個公司的模式,即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 

我希望做的是設置管理員布爾我在用戶爲true。

基本上,我正在做的是通過創建一個公司來註冊用戶,並註冊他們的用戶,從而使註冊公司的人成爲管理員。

+0

你可以做一些像公司[:用戶] [:管理員] – user1801879

回答

0

您可以在保存之前簡單地修改用戶對象。

def create 
    @company = Company.new(company_params) 
    @company.user.admin = true 
    if @company.save 
    redirect_to root_url 
    else 
    render 'new' 
    end 
end 

你也可以做一個模型回調。然而你的實現可能有點天真。如果用戶屬於幾家公司,會發生什麼?