我有以下代码,当运行时创建/删除表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
任何想法/建议都会受到欢迎,我可能会以完全错误的方式思考这个问题!
谢谢, 斯科特