Accounted for the change while reading the fields added specs to confirm working

Accounted for the change while reading the fields added specs to confirm working

diff --git a/app/models/concerns/has_custom_fields.rb b/app/models/concerns/has_custom_fields.rb
index 3d6b524..ca8d6df 100644
--- a/app/models/concerns/has_custom_fields.rb
+++ b/app/models/concerns/has_custom_fields.rb
@@ -274,7 +274,7 @@ module HasCustomFields
 protected
 
   def refresh_custom_fields_from_db
-    target = Hash.new
+    target = HashWithIndifferentAccess.new
     _custom_fields.order('id asc').pluck(:name, :value).each do |key, value|
       self.class.append_custom_field(target, key, value)
     end
diff --git a/spec/components/concern/has_custom_fields_spec.rb b/spec/components/concern/has_custom_fields_spec.rb
index a567f3e..e74da75 100644
--- a/spec/components/concern/has_custom_fields_spec.rb
+++ b/spec/components/concern/has_custom_fields_spec.rb
@@ -337,6 +337,32 @@ describe HasCustomFields do
         expect(test_item.custom_fields['hello']).to eq('world')
         expect(test_item.custom_fields['abc']).to eq('ghi')
       end
+
+      it 'allows using string and symbol indices interchangably' do
+        test_item = CustomFieldsTestItem.new
+
+        test_item.custom_fields["bob"] = "marley"
+        test_item.custom_fields["jack"] = "black"
+
+         # In memory
+         expect(test_item.custom_fields[:bob]).to eq('marley')
+         expect(test_item.custom_fields[:jack]).to eq('black')
+
+         # Persisted
+         test_item.save
+         test_item.reload
+         expect(test_item.custom_fields[:bob]).to eq('marley')
+         expect(test_item.custom_fields[:jack]).to eq('black')
+
+         ## Update via string index again
+         test_item.custom_fields['bob'] = 'the builder'
+
+         expect(test_item.custom_fields[:bob]).to eq('the builder')
+         test_item.save
+         test_item.reload
+
+         expect(test_item.custom_fields[:bob]).to eq('the builder')
+      end
     end
   end
 end

GitHub sha: c3631898

This commit appears in #10486 which was approved by eviltrout. It was merged by eviltrout.