- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Rails 3.2。我的模型以这种方式嵌套:
我有以下内容:
@reviews = @user.reviews.includes(:user, :reviewable)
通常我们可以这样包含嵌套多态:
# this will return errors because :shop is not found in the model Shop (:reviewable is actually :shop)
@reviews = @user.reviews.includes(:user, :reviewable => [:shop])
# this will return errors because :photos is not directly associated to Country
@reviews = @user.reviews.includes(:user, :reviewable => :photos)
还有许多其他变体。我该如何解决这个问题,让 ActiveRecord 包含基于其关联的正确模型?
最佳答案
我想我刚才也遇到了同样的问题。尝试加载关联时出现 ActiveRecord::EagerLoadPolymorphicError
。我的解决方案是将自定义连接语句放在一起,我已将其放入一个范围以便于使用。
未经测试,但这可能会让你继续:
class Review < ActiveRecord::Base
scope :eagerly_loaded, -> {
joins('
INNER JOIN shops
ON (reviews.reviewable_type = "Shop" AND reviews.reviewable_id = shops.id)
INNER JOIN countries
ON (reviews.reviewable_type = "Country" reviews.reviewable_id = countries.id)
')
}
end
然后使用 @user.reviews.eagerly_loaded
。确保使用匹配的 .group()
-statement 以仅获取您需要的那些。
关于ruby-on-rails - 渴望加载不同的嵌套多态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16152031/
因此,即使更好的解决方案即将出现,急切搜索也是您采用初始解决方案的地方...... 急切搜索的反义词是什么?我所有的谷歌搜索结果都让我引用了 Paul Revere 的骑行。在这些困惑和不确定的时代,
这个问题已经有答案了: Why is this static final variable in a singleton thread-safe? (4 个回答) 已关闭 4 年前。 如果我使用 st
我尝试在 Eager 模式下使用 Tensorflow 计算梯度,但是tf.GradientTape () 仅返回 None 值。我不明白为什么。梯度在 update_policy() 函数中计算。
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我需要使用 Hibernate 从 clob Oracle 列中获取一个字符串, 没有延迟加载,也没有使用 Criteria 查询。它目前返回一个代理类(例如 $Proxy30),但我需要一个字符串(
我是一名优秀的程序员,十分优秀!