我的架构中有这个:
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非常陌生,所以请随意纠正我的架构决策。
答案 0 :(得分:1)
我会考虑从下面的模型开始
这样就可以通过“Linker
”让匹配拥有许多机器人和机器人来进行多场比赛
然后,您可以执行Robot.find(1).matches
或Match.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