我试图通过创建操作在联接表中创建多个记录。这是我的协会。Rails在联接表中创建多个记录
class User
has_many :abilities
has_many :skills, through: :abilities
end
class Job
has_many :abilities
has_many :skills, through: :abilities
end
class Ability
belongs_to :job
belongs_to :skill
end
我有一个表单来创建一个新的工作。有一个选择框可以选择工作所需的技能(技能已经创建)。在jobs_controller.rb的创建动作中,如何创建多个技能?这是我的。
def create
@job = Job.new(job_params)
@abilities = @job.abilities.build(params[:job][:skills])
end
我的params返回一个技能数组。
"job"=> {
"name"=>"abc",
"skills"=>["2", "5"]
}
陷入如何在我的jobs_controller的创建操作创建两个能力记录(和关联正在创建的gig_id到演出)。
您的技能模型在哪里?技能和能力相同吗?如果不是,那么为什么你需要能力和技能(他们的角色)? –
这是一个多对多的关联。 – leejay100