如何在Rails应用程序中格式化渲染的yaml数组?

时间:2012-04-18 08:52:04

标签: ruby-on-rails yaml

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

我正在调试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

我确信我忽略了一些非常明显的事情。感谢有人能指出我的意思!

谢谢!

2 个答案:

答案 0 :(得分:5)

使用魔术pre标记:

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

编辑:更适合您的例子:

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

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

答案 1 :(得分:3)

最简洁的方式:

<%= debug @foo %>

使用pre类对debug_dump标记进行设置。