1

ユーザーがさまざまなゲームをプレイし、各ゲーム内で自分の役割を選択できるゲームを作成しています (チーム要塞など)。

「games_users」に参加する2つのテーブルを作成しました

create_table "games_users", :force => true do |t|
    t.integer  "game_id"
    t.integer  "user_id"
    t.datetime "created_at",  :null => false
    t.datetime "updated_at",  :null => false
  end

そして、ゲームとユーザーの間に HABTM 関係を確立することができました

game.rb

has_and_belongs_to_many :users

user.rb

has_and_belongs_to_many :games

ロール モデル (またはロール文字列) を 3 テーブル ジョインでシステムに追加したいのですが、どうすればよいですか?

4

1 に答える 1

2

games_usersテーブルをテーブルに置き換えて、次のようにとroleshas_many :through間に入れることができます。UserGame

class User < ActiveRecord::Base
  has_many :roles
  has_many :games, :through => :roles
end

class Role < ActiveRecord::Base
  belongs_to :user
  belongs_to :game
end

class Game < ActiveRecord::Base
  has_many :roles
  has_many :users, :through => :roles
end
于 2012-08-24T04:17:26.677 に答える