我已尽我所能搜索互联网以解决此问题,但我完全被关键字 !binary 所吸引,因为搜索引擎(包括 stackoverflow 的内部搜索!)去掉了感叹号。
我正在 http://ruby.railstutorial.org 学习 Rails 教程- 这在很大程度上是一个很好的资源。我的 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
最佳答案
您可以尝试像这样从 .dump 更改为 .inspect 吗?
<%= params.inspect %>
关于ruby-on-rails - Rails 调试方法只输出 !binary 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9627105/