Używam zmiennych drukowania Rails.logger.debug do celów debugowania. Problem polega na tym, że drukuje hashy w niemożliwym do odczytania formacie (nie odróżnia kluczy od wartości). Na przykład, należy dodać następujące linie do mojego kodu bazowegoJak ustawić mieszanie protokołu Rails.logger.debug bardziej czytelny
#code_base.rb
my_hash = {'a' => 'alligator', 'b'=>'baboon'}
Rails.logger.debug my_hash
Potem uruchomić mój app szyn i typ
tail -f log/development.log
ale kiedy my_hash zostanie wydrukowany, wygląda
bbaboonaalligator
Klucz i wartości są zgniecione, co uniemożliwia parsowanie. Czy wiecie, co powinienem zrobić, żeby to naprawić?
Świetna końcówka tutaj! 'to_yaml' również tworzy ciąg znaków, ale jest sformatowany z' \ n' i wcięciem, więc znacznie łatwiej jest przejrzeć duży lub zagnieżdżony hash ... Jeśli próbujesz zalogować obiekt typu hash-like (powiedzmy 'params'), możesz skończyć z '' ivars' zatykaniem danych, które cię interesują. Najpierw zamień je w normalny skrót, a następnie zamień na yaml: 'logger.debug params.to_hash.to_yaml' – alxndr