如何在default_scope中指定模型?
How to specify a model in a default_scope?
我的模型Chapter
has_manyPages
,而belong_to只有一个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
。有人知道怎么做吗?
default_scope {
where("pages.created_at >= ?", 7.days.ago)
}
我的模型Chapter
has_manyPages
,而belong_to只有一个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
。有人知道怎么做吗?
default_scope {
where("pages.created_at >= ?", 7.days.ago)
}