2012-03-24 43 views
1

我有這個在我的架構:如何在Ruby on Rails中使對象成爲模型的屬性?

create_table "robots_matches", :force => true do |t| 
t.integer "robot_id" 
t.integer "match_id" 

,我想我希望能夠從我的robots_match模型中加載一個機器人比賽,所以我可以做這樣的事情: robots_match.find(:身份證。).get_robot()名稱

我在robots_matches模型的嘗試是這樣的:

def get_robot 
Robot.find(this.id) 
end 

我超新軌道,所以歡迎隨時糾正我的架構決策。

+0

然後,你可以做查詢,請出示您的模型。 – 2012-03-24 14:17:03

回答

1

我會考慮從下面的模型開始。
通過'Linker',這可以讓一場比賽擁有許多機器人,也可以通過機器人進行多場比賽。
Robot.find(1).matchesMatch.find(1).robots

class Robot < ActiveRecord::Base 
    has_many linkers 
    has_many matches, :through => linkers 

class Linker < ActiveRecord::Base 
    belongs_to :robots 
    belongs_to :matches 

class Match < ActiveRecord::Base 
    has_many linkers 
    has_many robots, :through => linkers 
相關問題