2017-09-28 9 views
-1
generieren

Wie bedingte basierte JSON Antwort in json.jbuilder Datei zu generieren. Zum Beispiel:Schienen: JSON Antwort basierend auf Bedingung

json.posts @posts do |post| 
    post.id post.id 
    post.users.each do |user| 
     if user.status == true 
      json.name user.name 
      json.age user.age 
     else 
      json.name user.supervisor_name 
      json.age user.supervisor_age 
     end 
    end 
end 

Das Problem ist, wenn user.status == false als es die sonst Teil wird nicht ausgeführt. Jeder kann helfen?

Ich möchte Antwort so etwas wie dieses:

{ 
    "posts": [ 
    { 
     "id": "1", 
     { 
     "name": "Jhon", 
     "age": "24" 
     }, 
     { 
     "name": "Wick", 
     "age": "25" 
     } 
    }, 
    { 
     "id": "2", 
     { 
     "name": "Tom", 
     "age": "32" 
     }, 
     { 
     "name": "Cruis", 
     "age": "31" 
     } 
    } 
    ] 
} 

Antwort

1

Sie sollten

json.posts @posts do |post| 
    json.id post.id 
    json.users post.users do |user| 
    if user.status == true 
     json.name user.name 
     json.age user.age 
    else 
     json.name user.supervisor_name 
     json.age user.supervisor_age 
    end 
    end 
end 
so etwas tun