我有这些模型关联:
class User < ApplicationRecord
has_many taken_tests
.
.
.
end
class Test < ApplicationRecord
has_many questions
.
.
end
现在User.preload(:taken_tests)
预加载测试。有没有办法在测试的同时预加载问题?像这样: User.preload(:taken_tests).preload(:questions)
?
是的,您可以preload
关联链
User.preload(taken_tests: :questions)
这将加载所有用户的测试以及属于这些测试的所有问题
如果需要,您可以链接关联,如果您有答案,您也可以预加载它们。
User.preload(taken_tests: [questions: :answers])