Rails has_one с таблицей соединений

В моем приложении есть Athletes... спортсмены могут заниматься многими видами спорта.

спортсмен:

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

UserSport:

class UserSport < ActiveRecord::Base
  attr_accessible :athlete_id, :sport_id, :primary

  belongs_to :athlete
  belongs_to :sport
end

Я пытаюсь быть в состоянии отодвинуть primary_sport в качестве спортивного объекта вместо user_sport объект.

1 ответ

Решение

Поскольку вы извлекаете свои спортивные объекты: через user_sports, вы должны извлекать свой объект primary_sport: также и через user_sports.

has_one :primary_sport, :through => :user_sports, conditions: ["user_sports.primary = ?", true], class_name: "Sport"
Другие вопросы по тегам