提交 9897f50a 编写于 作者: N Nikita Sokolov

ActiveRecord::Associations::Preloader should preload all instances of the same record

上级 65bf046f
......@@ -88,7 +88,6 @@ def preload(records, associations, preload_scope = nil)
if records.empty?
[]
else
records.uniq!
Array.wrap(associations).flat_map { |association|
preloaders_on association, records, preload_scope
}
......
......@@ -71,6 +71,15 @@ def test_preload_sti_middle_relation
club1.members.sort_by(&:id)
end
def test_preload_multiple_instances_of_the_same_record
club = Club.create!(name: "Aaron cool banana club")
Membership.create! club: club, member: Member.create!(name: "Aaron")
Membership.create! club: club, member: Member.create!(name: "Bob")
preloaded_clubs = Club.joins(:memberships).preload(:membership).to_a
assert_no_queries { preloaded_clubs.each(&:membership) }
end
def test_ordered_has_many_through
person_prime = Class.new(ActiveRecord::Base) do
def self.name; "Person"; end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册