2017-06-09 2 views
0

J'ai une partie qui obtient un paramètre et la liste de ses propriétés:Comment rendre indentation avec erb dans Rails partiel

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

Le _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 %> 

Ce que je reçois est:

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

Comment les indenter correctement? Pourquoi cela se passe-t-il du tout?

+0

avez-vous retourner un JSON ou html? – coorasse

+0

On dirait que OP veut rendre le HTML mais cela ressemble à JSON. Assumnig à cause de '.html.erb'. – fbelanger

+1

C'est juste pure préférence de formatage d'affichage, rien à voir avec JSON. – MattSom

Répondre

0

Si vous voulez juste sortie HTML formaté, essayez d'utiliser <pre> tag:

<% 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