- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试加载多态关联,同时还使用 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/
我正在尝试加载多态关联,同时还使用 Kaminari gem 进行分页: @news_items = NewsItem.includes(:news_source).not_outdated .whe
我是一名优秀的程序员,十分优秀!