0
我想在我的Rails應用程序來實現我的機構模型一個TreeView,我已經添加ancestry gem到我的模型,它的工作原理,並treeview我的看法也可以工作如何分析活動記錄層次結構,以JavaScript數組
但我真的不知道發出正確的數據的方式,我認爲需要一個JS數組是這樣的:
var tree = [
{
text: "Parent 1",
nodes: [
{
text: "Child 1",
nodes: [
{
text: "Grandchild 1"
},
{
text: "Grandchild 2"
}
]
},
{
text: "Child 2"
}
]
},
{
text: "Parent 2"
},
{
text: "Parent 3"
},
{
text: "Parent 4"
},
{
text: "Parent 5"
}
];
我做了一個Web服務返回一個文本,然後調用它上裝:
request = $.ajax({
url: '/get_institutions_tree',
type: 'GET',
dataType: "text",
success: function(data){
$('#tree').treeview({data: data});
}
});
但我真的不知道如何構建陣列,我試圖手動解析它,我有這個在我的控制器(我會盡量做到遞歸不知何故後來):
def get_institutions_tree
institutions = Institution.roots
data = "var data = [ "
institutions.each do |institution|
data << get_subtree(institution)
end
data << " ];"
render json: data
end
private
def get_subtree(institution)
subdata = "{"
subdata << "text: '" << institution.name << "',"
subdata << "}"
end
這對於現在的Web服務將返回此(1米深度),但它返回一個文本(「串」),如果我只是爲它分配它不工作:
var data = [ {text: 'Nacional Bogota',}{text: 'Nacional Cali',} ];
我怎樣才能使這項工作?有沒有更好的/更清潔的方式來實現這一目標? 在此先感謝