1

次のコードを実行すると、has many through 関係を使用してテーブル project_users のレコードを作成/削除しますが、これは正常に機能します。

@project.users = @account.users.find(params[:users_ids])

ただし、現在、この中間の project_users テーブルに role_id という 3 番目の外部キー値を設定する必要がある状況にあります。

上記のコードと同時に 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

どんな考えや提案も大歓迎です。私はこれについて完全に間違った方法で考えている可能性があります!

ありがとう、スコット

4

0 に答える 0