Я столкнулся с проблемой при попытке переформулировать версии PaperTrail после удаления столбца из таблицы модели.
Трассировка стека начинается: private method 'warn' called for nil:NilClass
и указывает мне на следующие строки внутри метода reify
:
# Set all the attributes in this version on the model.
attrs.each do |k, v|
if model.has_attribute?(k)
model[k.to_sym] = v
elsif model.respond_to?("#{k}=")
model.send("#{k}=", v)
else
logger.warn "Attribute #{k} does not exist on #{item_type} (Version id: #{id})."
end
end
Поскольку я удалил столбец из таблицы, я приземлился в блоке else
логического дерева, что кажется вполне разумным... Я в порядке, записывая это, продолжая с овеществлением.
Однако я вообще не понимаю, почему logger
это nil
. Где и как настроить логгер PaperTrail, чтобы мы просто регистрировали поведение, а не сбой приложения?