将选项从控制器传递到嵌入式 Symfony 表单时选项不存在错误
当我尝试在其中一个窗体中将选项传递给我的方法时,我收到以下错误。buildForm
选项“numOfHoles”不存在。定义的选项是:“行动”,“allow_extra_fields”,“attr”,“auto_initialize”,“block_name”,“by_reference”,“cascade_validation”,“复合”,“约束”,“csrf_field_name”,“csrf_message”,“csrf_protection”,“csrf_provider”,“csrf_token_id”,“csrf_token_manager”,“数据”,“data_class”,“禁用”,“empty_data”,“error_bubbling”,“error_mapping”,“extra_fields_message”,“inherit_data”,“意图”,“invalid_message”,“invalid_message_parameters”,“标签”,“label_attr”,“”,” “label_format”,“映射”,“max_length”,“方法”,“模式”,“post_max_size_message”,“property_path”,“read_only”,“必需”,“translation_domain”,“修剪”,“validation_groups”,“虚拟”。
在我的控制器中:
// hardcoded here for brevity in this example
$form = $this->createForm('crmpicco_course_row', $courseRow, array('numOfHoles' => 18));
在窗体类中:crmpicco_course_row
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'text')
->add('course', 'crmpicco_course', array('numOfHoles' => $options['numOfHoles']))
;
}
在窗体类中:crmpicco_course
public function buildForm(FormBuilderInterface $builder, array $options)
{
for ($i = 0; $i < $options['numOfHoles']; $i++) {
$builder->add($i, 'text', array('required' => 'false'));
}
}
/**
* @return string name
*/
public function getName()
{
return 'crmpicco_course';
}
谁能看出为什么这个选项没有拉过来?numOfHoles