2013-10-30 68 views
2

我有这个设置JSON数据Rails的骨干渲染嵌套JSON在jst.eco模板

JSON

[{ 
    "country": { 
     "name": "Malaysia", 
     "total_amount": 0.0, 
     "count": 0 
    } 
}, { 
    "country": { 
     "name": "Philippines", 
     "total_amount": 0.0, 
     "count": 0 
    } 
}, { 
    "country": { 
     "name": "Thailand", 
     "total_amount": 0.0, 
     "count": 0 
    } 
}] 

咱们说这个数据我把它像

.replaceWith(@template(data: @data_transaction) 

怎么办我检索template.jst.eco中的数据

我曾尝试使用这种for循环

<% for key, data in @data_transaction.models: %> 
    <%= data.get("country").name %> 
    <%= data.get("country").total_amount %> 
    <%= data.get("country").count %> 

它只是不工作

如果我试图这样打印出来的template.jst.eco内

<%= @data_transaction %> 

它会显示这种东西

[object, object] 

任何帮助吗?

非常感谢你

回答

1

我担心你犯了一个很常见的错误。

尝试更换:

for key, data in @data_transaction.models: 

有:

for object in @data_transaction.models: 
    for key, data of object: 
+0

的答复喜谢谢,那**的**做骨干视图内的工作。但它在template.jst.eco中不起作用。 – kilua

+0

似乎,** template.jst.eco **不识别**的**。任何想法?谢谢 – kilua

+0

我认为它源于事实上,你有一个数组然后一个对象,所以你必须循环单个元素数组THEN循环对象 – apneadiving