【问题标题】:How do you format rendered yaml arrays in a Rails app?如何在 Rails 应用程序中格式化呈现的 yaml 数组?
【发布时间】:2012-04-18 08:52:03
【问题描述】:

你能帮我解决这个问题吗?我没有找到任何关于此的文档,毫无疑问,因为它是如此简单,以至于没有人想到要写下来!

我正在调试 Rails 应用程序中的一些 oauth 功能,并且需要定期引用访问令牌,我将其呈现为文本 to_yaml。

render :text => request.env["omniauth.auth"].to_yaml

有没有快速格式化响应的方法?目前我的浏览器中显示了一个长数组,这使得阅读非常具有挑战性!

我可以让每个项目显示在单独的行上,最好嵌套在父项目下吗?

例如,目前我有这个:--- provider: twitter uid: '#####' info: nickname: username name: User Name,我想要这个:

--- 
provider: twitter 
uid: '#####' 
info: 
    nickname: username 
    name: User Name

我确定我忽略了一些非常明显的东西。不胜感激,如果有人可以指出来给我!

谢谢!

【问题讨论】:

    标签: ruby-on-rails yaml


    【解决方案1】:

    使用神奇的pre标签:

    <pre><%= @foo.to_yaml %></pre>
    

    编辑:更适合您的示例:

    render :text => "<pre>#{request.env["omniauth.auth"].to_yaml}</pre>" # quick and dirty
    

    如果您经常使用它,请将其重构为某个辅助方法。

    【讨论】:

    • 'faceplant' 我知道我慢了!谢谢蒂洛,救了我!非常感谢您的帮助。
    【解决方案2】:

    最简洁的方式:

    <%= debug @foo %>
    

    它使用debug_dump 类设置pre 标签。

    【讨论】:

      猜你喜欢
      • 2010-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-09
      • 2018-08-20
      • 2019-03-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多