Mustache模板在Rails中不显示嵌套对象



我在我的Rails项目中使用Rabl从我的控制器输出JSON。然后我使用Mustache和'stache' gem来生成模板。然而,Mustache模板没有从我的JSON提要中获得我需要的信息,我已经尝试了我能找到的每个示例/解决方案。

这是我的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不好吗?我也不知道它是否与我正在使用的任何宝石有关。我想知道是否有人能帮我解决这个问题。

我认为这是设计的问题。Rabl可以很好地构建JSON,但由于某种原因,我不得不更改控制器中的内容。

我必须改变这个:

def index
  @connections = current_user.connections
end

:

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

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

最新更新