私はRubyonRails 3を初めて使用し、単純なチェスゲームアプリケーションに取り組んでいます。次のモデルを作成する予定です。
rails g model Player name:string
rails g model Game player_id_white:int player_id_black:int title:string
rails g model Comment player_id:int game_id:int comment_data:text
rails g model Move game_id:int player_id:int move_data:string
それらがすべて持っていると仮定します:id:int:primary_key、created_at:datetime、updated_at:datetime。'password_hash'などのフィールドも省略しました。私の問題は関連付けにあり、アプリを機能させるために必要なフィールドにはあまり関係ありません。
class Player < ActiveRecord::Base
has_many :games #some have player_id_black, others as player_id_white
has_many :comments
has_many :moves
end
class Game < ActiveRecord::Base
has_many :comments
has_many: moves
**belongs_to :player1??**
**belongs_to :player2??**
end
class Comment < ActiveRecord::Base
belongs_to :player
belongs_to :game
end
class Move < ActiveRecord::Base
belongs_to :player
belongs_to :game
end
質問:
1)ゲームを2人のプレーヤーにリンクしたいのですが、どうすればその関係を指定できますか?
2)「railsgenerate model」でgame_id:intのようなものを指定する必要がありますか、それとも関係(belongs_to:player、has_many:games)を行うときに暗黙的ですか?
ありがとう!