我有以下代码在运行时创建/删除表 project_users 上的记录,使用具有多个直通关系,这工作正常。
@project.users = @account.users.find(params[:users_ids])
但是,我现在需要在这个名为 role_id 的中间 project_users 表上设置第三个外键值。
是否有任何建议可以与上面的代码同时有效地设置 role_id。
我想出了几个解决方案,例如下面的一个,但是如果只需要更新,我不喜欢删除所有记录的想法。
users = @account.users.find(params[:users_granted].keys)
@project.users = []
users.each do |user|
@project.project_users.create(:user_id => user.id, :project_role_id => params[:users_granted][user.id.to_s])
end
任何想法/建议都会受到欢迎,我很可能以完全错误的方式思考这个问题!
谢谢,斯科特