2015-11-05 56 views
-2

您好所有我想要的分支添加到用户,我有用户模型是这样的:存储阵列的数据到数据库一对多的关系

class User < ActiveRecord::Base 
    has_many :user_branches 
end 

,然后我有用户控制器是这样的:

def create 
@user_branches=params[:branch_ids] 

params[:user][:password] = params[:user][:username] 
@user = User.new(params[:user]) 
respond_to do |format| 
    if @user.save 
    # UserBranch.new(branch_id: b[0], user_id: params[:user_id]) 
    @user_branches.each do |branch| 
     @user_branch = UserBranch.new(branch_id: branch, user_id: params[:user_id]) 
    @user_branch.save 
    end 

    flash[:notice] = 'Success Add New User' 
    format.js 
    else 
    flash[:error] = @user.errors.full_messages 
    format.js#html { render action: "new" } 
    end 
end 

@user_branches的内容就是这样的["2", "3", "4"]。 以上代码工作。但是user_id没有插入。

+1

什么是你想实现与IDS? – Nithin

回答

0

params[:user_id]你怎么能从form得到这个?

您正在创建usercreate方法。

它可能应该是,

UserBranch.new(branch_id: branch, user_id: @user.id)

+0

谢谢@Nithin,它的工作原理! –