1

次のような多対多の関連付けがあります

class User < ActiveRecord::Base
  has_many :working_groups
  has_many :groups, :through => :working_groups

class Group < ActiveRecord::Base
  has_many :working_groups
  has_many :users, :through => :working_groups

class WorkingGroup < ActiveRecord::Base
    belongs_to :user
    belongs_to :group

また、Working_Groups 関連付けには、各関係に関する追加情報 (順序やメンバーシップの種類など) があります。

create_table "working_groups", :force => true do |t|
    t.integer  "group_id"
    t.integer  "user_id"
    t.integer  "position"
    t.string   "role"
    t.datetime "created_at", :null => false
    t.datetime "updated_at", :null => false

ユーザー ビューでは、ユーザーが属するすべてのグループとそのメンバーシップの種類 (結合テーブルに格納されている) のリストを表示しようとしています。これを成し遂げるために私が見つけた唯一の方法は、このようなものであり、これは非常に醜く、これまでで最も効率的なものではありません...

名前 役割

これを行うより良い方法はありますか?もっと良い方法があるはず...

4

0 に答える 0