2012-07-02 82 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

谢谢 - 我很高兴这有帮助。如果答案有帮助,如果你会考虑“接受”它,将不胜感激。谢谢! –