2013-05-06 29 views
0

我有以下几点:的Rails 3 HAS_ONE与连接表

has_many :sports, :through => :user_sports 
has_one :primary_sport, class_name: "UserSport", conditions: ["user_sports.primary = ?", true] 
has_many :user_sports 

当我在控制台运行如下命令:

athlete = Athlete.all.last 
athlete.primary_sport 

返回的记录是从连接表中的记录,而不是加入运动桌的记录。任何方式从联合返回实际的运动?

回答

0

你可能会做这样的事

class UserSport < ActiveRecord::Base 
    has_many :athletes 
    has_many :sports 
end 


athlete = Athlete.all.last 
athlete.primary_sport.sport 

Didnt由我自己试试吧,只是检查,看看:)

+0

的作品,我只是想做到这一点,而无需向下钻取对象协会 – dennismonsewicz 2013-05-06 23:37:06

+0

很高兴帮助:) – sameera207 2013-05-06 23:38:10