如何在Ruby on Rails中使对象成为模型的属性?

时间:2012-03-24 14:12:32

标签: ruby-on-rails object model properties schema

我的架构中有这个:

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

我认为我希望能够从我的robots_match模型中加载机器人和匹配,这样我就可以做到这样的事情: robots_match.find(:ID).get_robot()名称

我在robots_matches模型中的尝试是这样的:

def get_robot
Robot.find(this.id)
end

我对rails非常陌生,所以请随意纠正我的架构决策。

1 个答案:

答案 0 :(得分: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