Rails 通过 Jbuilder 部分包含

Rails include through Jbuilder partial

我有一个 jbuilder show 呈现部分:

json.contents @item_trackers, partial: 'item_trackers/item_tracker', as: :it

在这一部分中,我通过 it 变量访问我的 pages_trackers 关联:

json.pages it.pages_trackers.order("created_at ASC")

问题是当请求被触发时,它加载属于[=32]的每个page_tracker =]item_tracker(每个请求一个)。

我已经尝试在我的控制器中包含 pages_trackers 模型: item_trackers.includes([:pages_trackers])

但它仍然会在每个 page_tracker 加载并且我有 "unused eager loading" 消息:

检测到未使用的预加载 ItemTracker => [:pages_trackers] 从您的查找器中删除::includes => [:pages_trackers]

有人可以帮我解决这个问题吗?

我发现了问题所在: 当我在局部调用 order 方法时,它强制再次触发请求。 所以我改变了 SQL 方法 order 对应的 Ruby:sort_by(&:created_at)