如何通过关联控制器在rails中保存多个?
问题描述:
我有一个Projects
模型和User
模型。我想在这些模型之间建立has many through association
。现在我的要求是我想列出multiselect
下拉列表中的所有用户,以projects/new
的形式,通过这个我想在创建项目时分配属于该项目的所有用户。同时在users/new
表单中创建新用户时,我想列出multiselect
下拉列表中的所有projects
。在这里,Projects_controller/create
动作中的控制器逻辑应该是什么,类似地,Users_controller/create
动作中的逻辑应该是什么,以便我可以保存这些在控制器中有多个关联?如何通过关联控制器在rails中保存多个?
答
使用类似
@user = User.create(...)
@projects = params[:projects].map{|k,v| Project.find(k)}
@user.projects << @projects