2013-07-18 52 views
0

我的形式有3個集合字段:的symfony 2,form_rest(形式)示出了採集字段

$builder->add('affiliates', 'collection', array(
    'type' => new AffiliateForm(), 
    'allow_add' => true, 
    'allow_delete' => true, 
    'by_reference' => false, 
    'options' => array(
     'affiliate_types' => $options['affiliate_types'], 
     'business_types' => $options['business_types'], 
    ), 
)); 

$builder->add('other_businesses', 'collection', array(
    'type' => new OtherBusinessForm(), 
    'allow_add' => true, 
    'allow_delete' => true, 
    'by_reference' => false, 
)); 

$builder->add('welfare_activities', 'collection', array(
    'type' => new WelfareActivityForm(), 
    'allow_add' => true, 
    'allow_delete' => true, 
    'by_reference' => false, 
    'options' => array(
     'welfare_activity_types' => $options['welfare_activity_types'], 
    ), 
)); 

在我分別示出每個子表單字段中的一個由一個模板,象下面這樣:

<td class="t1c5" >{{ form_widget(affiliate.location) }} 
        {{ form_errors(affiliate.location) }}</td> 

在我做的表格末尾:

{{ form_rest(form) }} 

但是它會導致在窗體的末尾顯示以下單詞,當給定收集內容爲空:「關聯公司」,「其他業務」,「福利活動」。 所以問題是:

  1. 爲什麼這些單詞顯示在窗體上?
  2. 我可以做以下,以避免上述問題:

    <div style="display:none;">{{ form_rest(form) }}</div>  
    

    它是處理問題的正確方法(也許我可以做一個現場隱藏的或其他)?

謝謝。

{{ form_label(affiliate.location) }} 
… 
… 

據商務部:

回答

0

的那些話,因爲你忘顯示在表格上

form_rest(視圖,變量)

這使得有不是所有的字段尚未呈現給定的形式。這是一個好主意,因爲它會爲您呈現隱藏的字段,並讓您忘記渲染的任何字段更明顯(因爲它會爲您渲染字段),所以始終在表單中的某個位置放置這個位置是個好主意。

0
{{ form_end(form, {'render_rest': false}) }}