【发布时间】:2016-08-25 17:05:20
【问题描述】:
我有一个 ActiveJob,其中一些参数已使用 GlobalID 进行序列化。
在执行工作时,我怎样才能急切地加载一些相关的模型?
class Foo
has_one :bar
end
class Bar
belongs_to :foo
field :some_field
end
class MyJob < ApplicationJob
queue_as :default
def perform(foo)
# How can I eager load bar ?
foo.bar.some_field # Hits the DB again without eager loading
end
end
这只是一个简单的例子,但在我的应用程序中我需要 eager_load 几个模型,有时我什至没有它会遇到 N+1 个问题(在不同的例子中,没有预先加载)
【问题讨论】:
标签: ruby-on-rails mongoid ruby-on-rails-5