任何人都可以解释为什么这段代码:
{% form_theme form _self %}
{% block avo_gallery_upload_widget %}
{% spaceless %}
<label for="name">Name:</label>
{{ form_widget(form.name) }}
<label for="description">Description:</label>
{{ form_widget(form.description) }}
{% endspaceless %}
{% endblock avo_gallery_upload_widget %}
抛出
Method "name" for object "Symfony\Component\Form\FormView" does not exist in MyBundle:Default:upload.html.twig at line 13
供参考:第13行是{{form_widget(form.name)}}
但是当包含在IF子句中时:
{% form_theme form _self %}
{% block avo_gallery_upload_widget %}
{% spaceless %}
{% if form.name is defined %}
<label for="name">Name:</label>
{{ form_widget(form.name) }}
<label for="description">Description:</label>
{{ form_widget(form.description) }}
{% endif %}
{% endspaceless %}
{% endblock avo_gallery_upload_widget %}
突然间一切正常!
供参考 - 这就是表单的样子:
class GalleryUploadType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder
->add('name', 'text')
->add('description', 'textarea')
;
}
public function getName()
{
return 'avo_gallery_upload';
}
public function getDefaultOptions(array $options){
return array('data_class' => 'Me\MyBundle\Entity\GalleryUpload');
}
}
答案 0 :(得分:1)
fabpot 关闭github问题(2012-07-03)并发表评论:
每个月,我花了好几个小时试图重现问题而没有运气。所以,我现在放弃了,因为你的应用程序中可能还有其他东西(因为几乎每个人都可以正常工作)。如果您有任何相关的新信息,请随时重新打开新票。感谢。
由于我的应用程序可能出现了问题,并且我没有任何新内容可以添加到我正在关闭此问题的问题中。
如果您有关于重现问题的任何其他信息,请张贴here。