Я изо всех сил обыскал Интернет в поисках этой проблемы, но ключевое слово !binary меня совершенно не устраивает, так как поисковые системы (включая внутренний поиск stackoverflow!) удаляют восклицательный знак.
Я работаю над учебником по Rails на http://ruby.railstutorial.org— который по большей части был отличным ресурсом. Внизу страницы application.html.erb есть одна полезная вещь:
<%= dump(params) %>
Мне говорят, что в конкретном сценарии должно выводиться следующее:
--- !map:ActiveSupport::HashWithIndifferentAccess
commit: Sign in
session: !ActiveSupport::HashWithIndifferentAccess
password: ""
email: ""
authenticity_token: BlO65PA1oS5vqrv591dt9B22HGSWW0HbBtoHKbBKYDQ=
action: create
controller: sessions
Вместо этого я получаю следующее:
--- !ruby/hash:ActiveSupport::HashWithIndifferentAccess
!binary "dXRmOA==": ✓
!binary "YXV0aGVudGljaXR5X3Rva2Vu": ItPS/PZ+avYOGD2ckict1urJpatw1HinrVyk385/Yt8=
!binary "c2Vzc2lvbg==": !ruby/hash:ActiveSupport::HashWithIndifferentAccess
!binary "dXNlcm5hbWU=": ''
!binary "cGFzc3dvcmQ=": ''
!binary "Y29tbWl0": Sign in
action: create
controller: sessions
Что гораздо менее полезно.
Я предполагаю, что у rails есть возможность выводить данные в том виде, в каком они находятся в памяти (т. е. в двоичной форме), или они могут декодировать данные и отображать их в виде обычного текста.
Очевидно, я получаю правильные данные, просто в неправильной форме.
Вопрос в том, как мне получить текстовую версию?
Второй вопрос: какого черта на таком сайте, как stackoverflow, нет механизма включения специальных символов в результаты поиска? Фундаментальная ошибка IMO