Rails:has_many:通过第三个外键赋值

时间:2013-11-12 12:57:30

标签: ruby-on-rails ruby-on-rails-3 activerecord

我有以下代码,当运行时创建/删除表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

任何想法/建议都会受到欢迎,我可能会以完全错误的方式思考这个问题!

谢谢, 斯科特

0 个答案:

没有答案