如何在 rails 中的预加载之上执行预加载?
How to perform preload on top of a preload in rails?
我有这些模特协会:
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])
我有这些模特协会:
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])