From 3d424e3dd07f71ca878dae9367a1404d13dd7973 Mon Sep 17 00:00:00 2001 From: Alex Sherman Date: Fri, 24 Jan 2020 13:51:44 +0500 Subject: [PATCH] Fix ignored attributes on history models Concern method #all_versions_for(ids, time) tried to create model instance from history and raises an exception when in history object there are some columns which are ignored in model at the moment. This patch removes ignored columns from data used to create a new inctance. See #1489 --- app/models/concerns/versions.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models/concerns/versions.rb b/app/models/concerns/versions.rb index 77bc484ae..47ed461ce 100644 --- a/app/models/concerns/versions.rb +++ b/app/models/concerns/versions.rb @@ -61,7 +61,8 @@ module Versions preceding(time + 1, true). select("distinct on (item_id) #{ver_klass.table_name}.*"). map do |ver| - o = new(ver.object) + ignored_columns = ver.item_type.constantize&.ignored_columns + o = new(ver.object&.except!(*ignored_columns)) o.version_loader = ver ver.object_changes.to_h.each { |k, v| o.public_send("#{k}=", v[-1]) } o