Skip to content

Commit 88425bb

Browse files
author
Lee Richmond
committed
Improve AR adapters
1 parent 88f7a1b commit 88425bb

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

lib/jsonapi_compliable/adapters/active_record_sideloading.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def has_one(association_name, scope:, resource:, foreign_key:, primary_key: :id,
5858
parent.association(association_name).loaded!
5959
relevant_child = children.find { |c| c.send(foreign_key) == parent.send(primary_key) }
6060
next unless relevant_child
61-
parent.send(:"#{association_name}=", relevant_child)
61+
parent.association(association_name).replace(relevant_child, false)
6262
end
6363
end
6464

@@ -105,7 +105,7 @@ def polymorphic_belongs_to(association_name, group_by:, groups:, &blk)
105105

106106
assign do |parents, children|
107107
parents.each do |parent|
108-
parent.send(:"#{association_name}=", children.find { |c| c.send(primary_key) == parent.dwelling_id })
108+
parent.send(:"#{association_name}=", children.find { |c| c.send(primary_key) == parent.send(foreign_key) })
109109
end
110110
end
111111
end

lib/jsonapi_compliable/sideload.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ def to_hash
7272
def resolve_polymorphic(parents, query)
7373
parents.group_by(&@grouper).each_pair do |group_type, group_members|
7474
sideload_for_group = @polymorphic_groups[group_type]
75-
sideload_for_group.resolve(group_members, query, name)
75+
if sideload_for_group
76+
sideload_for_group.resolve(group_members, query, name)
77+
end
7678
end
7779
end
7880

0 commit comments

Comments
 (0)