2011-11-30 59 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]