2011-11-30 46 views
0

我的问题是与子对象。 让有这个例子:节点>快递>玉 - 表格模板子对象

tweets = [{id:1, title:"my tweet", author:{id:"sample", name:"Sample Guy"}}] ; 

...等 现在如果我想保存,使用快递和玉器,我会做一个表格并设置类似这样的输入:

input#title(type="text", name="tweet[title]", value="new tweet") 

没有那里的问题,但我将如何去设置作者的ID /名称?我的猜测没有工作..

input#author(type="text", name="tweet[author[id]]", value="sample") 

当我提交建成后尝试console.log('author '+tweet.author.id) ;刚刚返回undefined。

预先感谢任何帮助,

回答

3

引用一个目标的目标将是

tweet[author][id] 
+0

呵呵..这是非常简单和明显- 谢谢您的帮助! – tomespo44

+0

有时最简单的解决方案是最难以看到的......你非常欢迎 –

0

每对括号的是深度的水平。除了命名键以外,您还可以使用数字或空括号,这对无限字段很有用。

以下布局

input(type="hidden", name="some_field", value="some value") 
input(type="hidden", name="tweet[id]", value="tweet id") 
input(type="text", name="tweet[author][id]", value="author id") 
input(type="text", name="tweet[author][name]", value="author name") 


input(type="text", name="numbers[2]", value="2 value") 
input(type="text", name="numbers[1]", value="1 value") 
input(type="text", name="numbers[0]", value="0 value") 

input(type="text", name="more_numbers[]", value="first") 
input(type="text", name="more_numbers[]", value="second") 
input(type="text", name="more_numbers[]", value="third") 

会产生,之后提交

{ 
    some_field: "some value", 
    tweet: { 
     id: "tweet id", 
     author: { 
      id: "author id", 
      name: "author name" 
     } 
    }, 
    numbers: ["0 value", "1 value", "2 value"], 
    more_numbers: ["first", "second", "third"] 
} 

正如@Pastor骨头说,你必须使用

tweet[author][id]