2013-03-01 72 views
0

我在我的Rails项目中使用Rabl从我的控制器输出JSON。然后我使用Moustache和'stache'gem来生成模板。但是,Mustache模板没有从我的JSON提要中获取我需要的信息,并且我尝试了每个可找到的示例/解决方案。小胡子模板在Rails中不显示嵌套对象

这里是我的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" 
     } 
     } 
    } 
    ] 
} 

这是我的模板:

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

但是从user节点什么也不显示。从connection节点的一切都显示得很好。我尝试了我所知道的一切。我的JSON不好吗?我也不知道它是否与我使用的任何宝石有关。我想知道是否有人可以帮我解决这个问题。

回答

0

事实证明,这是一个问题与设计 - 我认为。 Rabl构建JSON很好,但由于某种原因,我不得不在控制器中改变一些东西。

我不得不改变这一点:

def index 
    @connections = current_user.connections 
end 

要:

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

我现在可以没有问题访问这些信息在我的胡子模板。我不知道它为什么会这样,但如果我找出原因,我会发布信息。