Ruby on rails Rails:具有多个:通过第三个外键赋值
我有以下代码,当运行该代码时,它会在表project_上创建/删除记录,用户使用的是一个具有多个through关系的表,这很好Ruby on rails Rails:具有多个:通过第三个外键赋值,ruby-on-rails,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby On Rails 3,Activerecord,我有以下代码,当运行该代码时,它会在表project_上创建/删除记录,用户使用的是一个具有多个through关系的表,这很好 @project.users = @account.users.find(params[:users_ids]) 但是,我现在需要在中间的project\u users表上设置第三个外键值,名为role\u id 是否有任何建议可以在上面代码的同时有效地设置角色id 我提出了一些解决方案,比如下面的一个,但我不喜欢在只需要更新的情况下删除所有记录的想法 users
@project.users = @account.users.find(params[:users_ids])
但是,我现在需要在中间的project\u users表上设置第三个外键值,名为role\u id
是否有任何建议可以在上面代码的同时有效地设置角色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
欢迎任何想法/建议,很可能我的想法完全错误
谢谢,
斯科特这就是你要找的吗?