2017-06-09 32 views
0

所以我有一个部分,其获取的参数,并列出其属性:如何渲染ERB缩进在Rails的部分

<% if entry %> 
    { 
    <%= render partial: 'user_data', locals: {entry: entry} %>    
    } 
<% end %> 

的_user_data.html.erb:

<% if entry.name != nil %> 
    name: <%= entry.name %> 
    entry number: <%= entry.number %> 
    user: <%= entry.user %> 
<% else %> 
    name: nil 
    entry number: nil 
    user: nil 
<% end %> 

我能得到什么是:

{ 
    name: nil 
entry number: nil 
user: nil 
    } 

我该如何缩进它们?它为什么会发生?

+0

你必须返回一个JSON或HTML? – coorasse

+0

看起来像OP想呈现HTML,但看起来像JSON。由于'.html.erb'的分析。 – fbelanger

+1

这只是纯视图格式偏好,与JSON无关。 – MattSom

回答

0

如果你只是想格式化HTML输出,请尝试使用<pre>标签:

<% if entry %> 
    <pre> 
    { 
    <% if entry.name != nil %> 
     name: <%= entry.name %> 
     entry number: <%= entry.number %> 
     user: <%= entry.user %> 
    <% else %> 
     name: nil 
     entry number: nil 
     user: nil 
    <% end %> 
    } 
    </pre> 
<% end %> 

EXAMPLE FIDDLE