モデルのテーブルから列を削除した後、PaperTrailのバージョンを修正しようとするときに問題が発生しています。 private method 'warn' called for nil:NilClass
PaperTrailロガーを設定するにはどうすればよいですか?
をして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ロガーをどこでどのように設定すれば、アプリケーションをクラッシュさせるのではなく単に動作をログに記録できるのですか?