Rails 3.2 炼油厂 2.0.10
我的引擎之间有一个基本的关联
Work
belongs_to client
Client
has_many works
在我的控制器中,我有一个方法应该给我一个来自指定客户端(myClientName)的作品列表,但是我收到一个 postgres 错误,说我缺少一个 from 子句:
target = "myClientName"
::Refinery::Works::Work.joins(:client).where(client: {title: target})
和错误:
PG::Error: ERROR: missing FROM-clause entry for table "client"
我不认为我的问题是查询,因为它的构造几乎与活动记录文档中的示例相同:
time_range = (Time.now.midnight - 1.day)..Time.now.midnight
Client.joins(:orders).where(orders: {created_at: time_range})
我认为这可能是一个命名空间问题,但 sql 语句似乎正在查看正确的表。我绝不是 sql 大师,但我看不出活动记录生成的 sql 有什么问题:
: SELECT "refinery_works".* FROM "refinery_works" INNER JOIN "refinery_clients" ON "refinery_clients"."id" = "refinery_works"."client_id" WHERE "client"."title" = 'myClientName'
知道这里可能出了什么问题吗?