我有两个模型:User
和Item
。这些模型之间存在has_and_belongs_to_many
关联(即,有一个“数据透视表”,可将多个用户与多个项目关联起来)。
通常,在创建用户时,项目与其关联(但不会创建新项目)。在创建新用户时(通过批量分配)我如何为其分配某些项目?
例如,如果我的控制器收到以下参数哈希:
params = {
user: {
email: 'someone@example.com',
item_ids: [1,2,3]
}
}
user = User.new(params.require(:user).permit(:email, :item_ids))
如何确保ID为1,2,3的项目与新创建的用户相关联?
答案 0 :(得分:1)
您需要将item_ids
列入数组参数:
user = User.new(params.require(:user).permit(:email, {item_ids: []}))