我正在使用找到
here的Alloy的复杂表格示例.他提供的示例是两级层次结构,我正在尝试将其扩展为四层.
他有javascript函数来添加嵌套项.如何扩展四个嵌套层?
'.add_nested_item': function(e){
el = Event.findElement(e);
template = eval(el.href.replace(/.*#/, ''))
$(el.rel).insert({
bottom: replace_ids(template)
});
},
'.add_nested_item_lvl2': function(e){
el = Event.findElement(e);
elements = el.rel.match(/(\w+)/g)
parent = '.'+elements[0]
child = '.'+elements[1]
child_container = el.up(parent).down(child)
parent_object_id = el.up(parent).down('input').name.match(/.*\[(\d+)\]/)[1]
template = eval(el.href.replace(/.*#/, ''))
template = template.replace(/(attributes[_\]\[]+)\d+/g, "$1"+parent_object_id)
// console.log(template)
child_container.insert({
bottom: replace_ids(template)
});
}
最佳答案 如果您需要处理三级层次结构,我认为它有点重载形式.首先重新考虑你的用户界面.
除此之外 – 我认为您不需要在控制器中构建关联对象,因为示例应用程序在视图中构建它们(如果需要)(app / views / projects / _form.erb):
<%@ project.build_author,除非@ project.author%>
<%project_form.fields_for:author do | author_form | %GT;