From fdcde4431ebc199b54e4d2c435dcf6116d845cb6 Mon Sep 17 00:00:00 2001 From: Mateusz Woskowicz Date: Thu, 23 Sep 2021 10:48:56 +0200 Subject: [PATCH 1/2] Fix nested associations after 0.10.0 breaking change --- lib/activeadmin/resource_dsl.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/activeadmin/resource_dsl.rb b/lib/activeadmin/resource_dsl.rb index 551cc77..e2594a2 100644 --- a/lib/activeadmin/resource_dsl.rb +++ b/lib/activeadmin/resource_dsl.rb @@ -18,7 +18,7 @@ def json_editor object.nested_attributes_options.keys.each {|_nested_key| nested_attributes_with_index = params[resource_request_name]["#{_nested_key}_attributes"] next if nested_attributes_with_index.nil? - nested_klass = _nested_key.to_s.singularize.camelize.constantize + nested_klass = object.class.reflect_on_association(_nested_key).class_name.constantize nested_klass.columns_hash.select { |_key, attr| attr.type.in? [:json, :jsonb] }.keys.each do |key| nested_attributes_with_index.each {|_index, nested_attributes| next unless nested_attributes.key? key From 4fb2532dd6deabe5a0cb8b687c54a9e7f318e5e5 Mon Sep 17 00:00:00 2001 From: Mateusz Woskowicz Date: Thu, 23 Sep 2021 11:04:07 +0200 Subject: [PATCH 2/2] Add respond to key --- lib/activeadmin/resource_dsl.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/activeadmin/resource_dsl.rb b/lib/activeadmin/resource_dsl.rb index e2594a2..746886a 100644 --- a/lib/activeadmin/resource_dsl.rb +++ b/lib/activeadmin/resource_dsl.rb @@ -21,6 +21,7 @@ def json_editor nested_klass = object.class.reflect_on_association(_nested_key).class_name.constantize nested_klass.columns_hash.select { |_key, attr| attr.type.in? [:json, :jsonb] }.keys.each do |key| nested_attributes_with_index.each {|_index, nested_attributes| + next unless nested_attributes.respond_to?(:key) next unless nested_attributes.key? key json_data = nested_attributes[key] data = if json_data == 'null' || json_data.blank?