2013-03-01 6 views
0

J'utilise Rabl dans mon projet Rails pour sortir JSON de mes contrôleurs. J'utilise ensuite Moustache couplé à la gemme 'stache' pour générer les modèles. Cependant, le modèle Moustache n'obtient pas les informations dont j'ai besoin d'un de mes flux JSON, et j'ai essayé chaque exemple/solution que j'ai pu trouver.Les modèles Moustache n'affichent pas les objets imbriqués dans Rails

Voici mon JSON:

{ 
    "connectons":[ 
    { 
    "connection":{ 
     "status":"accepted", 
     "user":{ 
      "id":2, 
      "first_name":"Joe", 
      "last_name":"Black" 
     } 
     } 
    }, 
    { 
    "connection":{ 
     "status":"accepted", 
     "user":{ 
      "id":2, 
      "first_name":"Joe", 
      "last_name":"Black" 
     } 
     } 
    } 
    ] 
} 

Ceci est mon modèle:

<ul> 
{{#connections}} 
    <li> 
    <p>{{status}}</p> 
    {{#user}} 
     <p>{{first_name}}</p> 
    {{/user}} 
    </li> 
{{/connections}} 
</ul> 

Mais rien du nœud user apparaît. Tout à partir du nœud connection apparaît très bien. J'ai essayé tout ce que je sais. Mon JSON est-il mauvais? Je ne sais pas non plus si c'est lié à l'un des gemmes que j'utilise. Je me demandais si quelqu'un pouvait m'aider à résoudre ce problème.

Répondre

0

Il s'avère que c'était un problème avec Devise - je pense. Rabl construisait bien le JSON, mais pour une raison quelconque, j'ai dû changer les choses dans mon contrôleur.

je devais changer ceci:

def index 
    @connections = current_user.connections 
end 

Pour:

def index 
    @user = current_user 
    @connections = @user.connections 
end 

Je peux maintenant accéder à l'information dans mon modèle de moustache sans problème. Je ne sais pas pourquoi cela fonctionne de cette façon, mais si je découvre pourquoi, je posterai l'info.

Questions connexes