0

我正在为 Rails 4 中的 2 个类生成脚手架 -RoomPlayer.

一般来说,在关系方面:

  • Player belongs_to Room
  • Room has_many Players

这意味着当玩家在房间里时,他们会参考它。

但是,玩家也可以创建房间 - 所以房间会有一个所有者。当我打电话时room.owner- 我希望它参考这个。但是,我不确定如何设置这样的东西。我怎样才能使一个属性像owner引用一个Player对象,同时仍然在一个属性内维护一个其他玩家的列表players

这是我到目前为止运行的内容:

rails generate scaffold Room name:string owner:integer

rails generate scaffold Player name:string room_id:integer

例子

理想情况下,我希望能够做到:

room = Room.find(room_id)
room.owner.name
4

1 回答 1

2

将脚手架房间更改为:

rails generate scaffold Room name:string owner_id:integer

并更改 app/models/room.rb:

class Room < ActiveRecord::Base
  belongs_to :owner , :class_name => 'Player'
  has_many :players
  #your code
end

然后你可以使用参考,记得在创建房间时设置 owner_id。

于 2013-09-06T03:34:38.450 回答