以前はhas_and_belongs_to_manyを使用していましたが、has_many:throughに変換されました。ここでは、多くのユーザーが遊ぶことができるゲームのリストを探す方法です。これで、私は.... game.usersとuser.gamesを行うことができます:結合テーブルのhas_many:through questions
class Game < ActiveRecord::Base
has_many :game_users, :dependent => :destroy
has_many :users, :through => :game_users, :uniq => true
end
class User < ActiveRecord::Base
has_many :game_users, :dependent => :destroy
has_many :games, :through => :game_users, :uniq => true
end
class GameUser < ActiveRecord::Base
belongs_to :game
belongs_to :user
end
そして、私のデータベースの移行を:
create_table :game_users, :id => false do |t|
t.column :game_id, :integer
t.column :user_id, :integer
t.column :player_index, :integer
end
私は、すべての取得はかなりわからないんだけどこれは、私が私の事実を確認し助けてください:正しい破壊:
は=>依存ですか?ゲームやユーザーのいずれかが破壊された場合、 'game_users'の結合テーブルのエントリを削除したいのですが、ゲームを削除してもユーザーを削除しないようにしたいのですが?
uniqフィールドには、ゲームにユニークユーザーのみが含まれ、ユーザーにはユニークなゲームのみが含まれているとしています。あれは正しいですか?
以前と同じようにデータベースの移行には、id => falseがあります。それはまだ正しいことですか?私はコンソールでゲームを破壊しようとしましたが、不足しているIDについて苦情を受けました...だから、私は推測していないし、理由を理解しようとしています。
非常に混乱しているレールのアクティブなレコードの関連付けが見つかりました。彼らはそうでないと思うよ!
あなたの用法:依存=>:破棄は正しいです。 –