2016-10-11 8 views
1

新しいエンティティを挿入するために、フォームをレンダリングしながら、コンソールを実行すると1エンティティYに属しており、多くの企業Z.例外 私のアプリは、そのエンティティのXを持っている...私は新しいエンティティを作成するためのビューをレンダリングする問題があり、既存の問題は、ここで私はお願いするつもりです答えされて見つけることができません[Symfony2の]

を持つことができ、それはすべてのそれらの関係とよく実行されます。

エンティティXのためのCRUD発生後php app\console doctrine:schema:update --force,

、リストページには罰金を示しますが、新しいレコードを作成するためのページには、次の例外がスローされます。

例外のレンダリング中にスローされましたテンプレート (「警告:call_user_func_array()パラメータ1が有効 コールバックすることを期待し、クラスのsymfonyの\橋\小枝\拡張\ FormExtensionは「 はありません。方法何ができるかライン232

でform_div_layout.html.twigで16 \ 16033db1d32d7d10db7a0d24db2f49938a4b2e9a63d231d90bf70d1969563fd0.php ライン880" )\ %のpath_to_app%の\アプリケーション\キャッシュ\ devのの\小枝に 'renderer->ヒト化'問題?

アップデート1:

例外のトリガーは、データがコントローラから渡された小枝ファイルに産みます。

//コントローラの方法

/** 
* 
* 
* @Route("/new", name="class_new") 
* @Template() 
*/ 
public function newAction() 
{ 
    $entity = new Class(); 
    $form = $this->createForm(new ClassType(), $entity); 

    return array(
     'entity' => $entity, 
     'form' => $form->createView(), 
    ); 
} 

//フォームクラス

class ClassType extends AbstractType 
{ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('name') 
     ; 
    } 

    public function setDefaultOptions(OptionsResolverInterface $resolver) 
    { 
     $resolver->setDefaults(array(
      'data_class' => 'Admin\MainBundle\Entity\Class' 
     )); 
    } 

    public function getName() 
    { 
     return 'admin_mainbundle_classtype'; 
    } 
} 

//ビュー

:アップデート2

{{form_widget(フォーム)}}

<form action="{{ path('class_create') }}" method="post" {{ form_enctype(form) }}> {{ form_widget(form) }} <p> <button type="submit">Create</button> </p> </form> 

答えて

0

私はこの数週間前に解決が、今、私は答えるために時間を見つけました。 アプリのバージョンを2.1から2.8に変更する前に、これは私に頭痛を与えていました。今日はうまくいく。

0

キャッシュを空にしてください:php bin/console cache:clearあなたのコマンドを再実行してください。問題がpersit場合

:あなたは私はあなたのコントローラとビュー内のすべての問題を見ないlayout.html.twig at line 232.

+0

問題は、私がすでにやっていたキャッシュクリアにもかかわらず存続します。 – OHNH

+0

そのレイアウトは依存関係からのものです。コントローラやその他のものは、php app \ consoleのdoctrine:generate:crudによって自動的に生成されます。ベンダーのディレクトリからコードを変更することはできません。 – OHNH

0

をexemple renderer->humanizeため未定義の機能を使用して見ている場合は、あなたのコントローラで見てください。

だから私はform_div_layout.html.twigファイルで探してみましたし、私は、関数ヒューマナイズがそこに使用されていることを発見し、例外が関数が定義されていないことを言います。

つまり、あなたのプロジェクトがで更新できます。composer install

form_div_layout.html.twig:

{%- block form_label -%} 
    {% if label is not same as(false) -%} 
     {% if not compound -%} 
      {% set label_attr = label_attr|merge({'for': id}) %} 
     {%- endif -%} 
     {% if required -%} 
      {% set label_attr = label_attr|merge({'class': (label_attr.class|default('') ~ ' required')|trim}) %} 
     {%- endif -%} 
     {% if label is empty -%} 
      {%- if label_format is not empty -%} 
       {% set label = label_format|replace({ 
        '%name%': name, 
        '%id%': id, 
       }) %} 
      {%- else -%} 
       {% set label = name|humanize %} 
      {%- endif -%} 
     {%- endif -%} 
     <label{% for attrname, attrvalue in label_attr %} {{ attrname }}="{{ attrvalue }}"{% endfor %}>{{ translation_domain is same as(false) ? label : label|trans({}, translation_domain) }}</label> 
    {%- endif -%} 
{%- endblock form_label -%} 

{%- block button_label -%}{%- endblock -%} 
関連する問題

 関連する問題