rails 引擎安装在应用程序中时缺少 FROM 子句错误

missing FROM-clause error with rails engine mounted in application

rails 引擎中的以下范围:

module GolfApi
  class Course < ActiveRecord::Base
      scope :club_same_name, -> { Course.joins(:club_location).where('club_locations.name=courses.name')}
  end
end

在加载引擎的应用程序中执行时出现以下错误:

PG::UndefinedTable - ERROR:  missing FROM-clause entry for table "club_locations"
LINE 1: ...d" = "golf_api_courses"."club_location_id" WHERE (club_locat...

我该如何解决这个问题?

where 子句由 SQL 执行,没有使用 GolfApi 命名空间,因此需要在 where 子句中的表前面加上 golf_api_,因此范围应该是

scope :club_same_name, -> { Course.joins(:club_location).where('golf_api_club_locations.name=golf_api_courses.name')}