0

私は、players_rosters と呼ばれる HABTM 関係を通じてプレーヤーと名簿間の関係を作成する方法を理解できませんが、私のコンソールでは、属性を使用して 2 つの関係を作成する方法を教えてください。

Players_rosters は、roster_id と player_id で構成されます。関係は機能しますが、手動属性との関連付けを作成するにはどうすればよいですか。

r = Roster.find(1)

r.create(:player_id => 1)

これは機能しませんが、どうすればこれを行うことができますか?

4

1 に答える 1

4

名簿を見つけていると仮定します。

r = Roster.find(1)
player = r.players.create(:name => 'Joe')

プレイヤーの ID を設定する例を使用します。

r.players.create(:id => 22, :name => 'Joe')

最初のプレイヤーを見つけて、ID が 22 の名簿に追加します。

# Then you can assign as follows:
player = Player.first
roster = Roster.find(22)
player.rosters << roster

または、プレーヤーを 1 つの名簿のみに割り当てるには:

player = Player.first
player.rosters = [Roster.find(22)]
player.save

save必要ないかもしれません。割り当てが関連付けへの追加のような保存をトリガーするかどうかは思い出せません。

于 2013-11-01T23:52:48.277 に答える