Модель кемпинга игнорирует ассоциацию
module App::Models
class Team < Base
has_many :players
[...]
end
class Player < Base
belongs_to :team
end
При звонке @team.players
(или же @player.team
):
NoMethodError at /team/red
undefined method `players' for [#<App::Models::Team (...)>]:ActiveRecord::Relation
Я использую это неправильно?
1 ответ
Решение
Обратите внимание, что вы звоните players
на экземпляре ActiveRecord::Relation. На самом деле у вас нет одной команды, у вас есть запрос нескольких команд. Просто добавить .first
к вашему определению @team
получить первую команду:
class TeamX
def get(name)
@team = Team.where(:name => name).first
end
end