2013-05-06 3 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

+0

рада помочь :) – sameera207