私のモデルには多対多の関係があり、コーチは多くのチームを指導でき、チームは複数のコーチ (アシスタント、ヘッドなど) を持つことができます。
Railsコンソールで、実行すると:
@coach = Coach.joins(:teams).select("coaches.first_name, coaches.last_name, teams.team_level")
戻り値:
=> [#<Coach first_name: "john", last_name: "doe">]
を返さないことに注意してください。したがって、ビューではteams.team_level
使用できません@coach.team_level
私が行うと、次のよう.to_sql
に返されます:
=> "SELECT coaches.first_name, coaches.last_name, teams.team_level
FROM `coaches`
INNER JOIN `coach_teams` ON `coach_teams`.`coach_id` = `coaches`.`id`
INNER JOIN `teams` ON `teams`.`id` = `coach_teams`.`team_id`
これは私が期待していることです...したがって、DBに対してこのクエリを実行すると、期待されるフィールドが取得されます。
ここで何が間違っているのですか/何が表示されないのですか? ご検討いただきありがとうございます。