gpt4 book ai didi

ruby-on-rails - 渴望加载与 Kaminara 分页的多态关联

转载 作者:行者123 更新时间:2023-12-04 03:40:16 25 4
gpt4 key购买 nike

我正在尝试加载多态关联,同时还使用 Kaminari gem 进行分页:

@news_items = NewsItem.includes(:news_source).not_outdated
.where(:group_id => group_ids).order("created_at DESC").page(params[:page]).per(10)

我收到错误消息:

ActiveRecord::EagerLoadPolymorphicError in Pages#dashboard

Showing 'BLAH BLAH'/dashboard.html.erb where line #49 raised: Can not eagerly load the polymorphic association :news_source

当我删除 Kaminari 范围 ( .page[:page]).per(10) 时,错误就消失了。

有人有什么想法吗? This article建议支持使用多态关联进行预加载,但前提是可能作为作用域应用于关系的条件/顺序不引用任何其他表(如果引用,则 Rails 使用 LEFT OUTER JOIN 方法进行预加载无法在多态关联上工作的加载)。那么:Kaminari 是否引用了另一个表?

非常感谢任何建议!

干杯。

最佳答案

您应该始终使用 preload用于多态关联。

此错误可能发生是因为 includes决定打电话 eager_load如果需要查询关联条件,多态关联只支持preload .它在 documentation

关于ruby-on-rails - 渴望加载与 Kaminara 分页的多态关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5977389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com