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

时间:2013-03-01 21:46:16

标签: json ruby-on-rails-3 mustache

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

1 个答案:

答案 0 :(得分:0)

事实证明,这是Devise的一个问题 - 我想。 Rabl正在构建JSON,但由于某种原因,我不得不改变控制器中的东西。

我不得不改变这个:

def index
  @connections = current_user.connections
end

要:

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

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