Я использую Rails.logger.debug для переменных печати для целей отладки. Проблема заключается в том, что он печатает хэши в формате невозможного для чтения (не может отличить ключи от значений). Например, добавить следующие строки в моей базе кодаКак сделать Rails.logger.debug print hash более читаемым
#code_base.rb
my_hash = {'a' => 'alligator', 'b'=>'baboon'}
Rails.logger.debug my_hash
Затем я запускаю мой рельсы приложение и тип
tail -f log/development.log
Но когда my_hash распечатана, это выглядит как
bbaboonaalligator
Ключ и значения сглаживаются, что делает невозможным синтаксический анализ. Вы, ребята, знаете, что я должен сделать, чтобы исправить это?
Большой наконечник здесь! 'to_yaml' также создает строку, но она отформатирована с' \ n' и отступом, поэтому гораздо проще сбрасывать большой или вложенный хэш ... Если вы пытаетесь записать хэш-подобный объект (скажем, 'params') вы можете в итоге «ivars» засорить интересующие вас данные. Сначала переведите его в обычный хеш, а затем превратите в yaml: 'logger.debug params.to_hash.to_yaml' – alxndr