我试图渲染一个在其中引用自身的小胡子模板。但它给出了“堆栈级别太深”的错误。
这是我的红宝石代码。
以下代码片段位于 person.rb 文件中
require 'mustache'
require 'active_support'
str = File.read("person.json")
j = ActiveSupport::JSON.decode(str)
Mustache.template_file = "person.mustache"
puts Mustache.render(j)
以下json内容在person.json中
{
"name":"Jason",
"rels":[
{"type":"friend",
"ref":{
"name":"John",
"rels":[
{"type":"friend",
"ref":{"name":"Chrissy"}}
]
}},
{"type":"family",
"ref":{"name":"Owen"}}
]
}
以下内容在文件 person.mustache 文件中
{{#rels}}
<ul>
<li>Type: {{type}}</li>
{{#ref}} {{> person}} {{/ref}}
</ul>
{{/rels}}
有人能指出我正确的方向吗?