2012-07-02 80 views
1

我有wher它擴展父類型和嵌入許多電話號碼的個人資料表..這裏不用代碼---陣列中軌陣列3

[email protected]_type.each_with_index do |parent,index| 
    = f.fields_for "parent_attributes[]", parent do |parent_fields| 

    %tr 
     %td{:class => 'table_hr'} 


     = parent_fields.label :lname, "Last name" 
     = parent_fields.text_field :lname 

     = parent_fields.label :fname, "First name" 
     = parent_fields.text_field :fname 

可以解釋一些究竟該代碼表示​​...

+0

您是否編寫了該代碼?您想做什麼?這不清楚。 –

回答

1

最好的事情將是你與HAML語言參考這裏熟悉:

http://haml.info/docs/yardoc/file.HAML_REFERENCE.html

該網頁會解釋每個Ø f爲您提供個別元素,以便您瞭解它們。我推薦的另一件事,顯然是運行代碼本身並學習如何工作。

但是在高層次上,這是發生了什麼。

行:

@profile.parent_type.each_with_index do |parent,index| 

基本上抓住了輪廓和拉動所有parent_type記錄用戶的個人資料點,然後通過他們循環 - 通過兩個parent_type記錄,以及作爲該index記錄到循環中。

的行:

= f.fields_for "parent_attributes[]", parent do |parent_fields| 

是創建表單字段爲每個PARENT_TYPE記錄的parent_attributes。這些將在表格發佈後發佈。

其他行:

%tr 
    %td{:class => 'table_hr'} 


    = parent_fields.label :lname, "Last name" 
    = parent_fields.text_field :lname 

    = parent_fields.label :fname, "First name" 
    = parent_fields.text_field :fname 

每個PARENT_TYPE記錄渲染一次,在記錄中的屬性。基本上應該有一張表格,列出每條記錄一行。

這是明確的嗎?

+0

Thanq。這很好 – Agnes

+0

謝謝 - 我很高興這有幫助。如果答案有幫助,如果你會考慮「接受」它,將不勝感激。謝謝! –