【发布时间】:2015-05-03 03:39:27
【问题描述】:
我的模型Chapter has_many Pages,而这又只属于一个Chapter。我正在尝试执行以下连接:
Chapter.joins(:pages)
但是我收到了这个错误:
SQLite3::SQLException: ambiguous column name: created_at: SELECT "chapters".* FROM "chapters" INNER JOIN "pages" ON "pages"."chapter_id" = "chapters"."id" AND (created_at >= '2015-04-24 23:22:32.783941')
ActiveRecord::StatementInvalid: SQLite3::SQLException: ambiguous column name: created_at: SELECT "chapters".* FROM "chapters" INNER JOIN "pages" ON "pages"."chapter_id" = "chapters"."id" AND (created_at >= '2015-04-24 23:22:32.783941')
Page 具有以下默认范围:
default_scope { where('created_at >= ?', 7.days.ago) }
如果没有那个 default_scope,连接就可以工作。所以我认为我必须以某种方式在 default_scope 中指定page.created_at。有谁知道怎么做?
【问题讨论】:
标签: ruby-on-rails ruby model scope