5

Symfony2.1に、数値のリストを受け取るコントローラーがあるとします。

public function showAction($el1, $el2, $el3){...}

ここで、i番目の$eliは数値 ID であると仮定します。したがって、次のように Twig テンプレートでそのコントローラーをレンダリングします。

{% render 'AcmeBundle:BundleName:show' with {'el1':'1', 'el2':'5',  'el3':'7'}  %}

それらをすべて (配列のように) グループ化する一意の値を渡すとよいでしょう。たとえば、

public function showAction($els){...}

$elsは値の配列です。もちろん、コントローラーが Twig テンプレート内でレンダリングされたとしても、それは不可能だと思います。

入力をもう少し動的にする唯一の方法は、すべての id-input 値をグループ化する一意の値を渡し、それらをトークンで区切ることです。例えば:

{% render AcmeBundle:BundleName:show with {'els': '1_5_7'} %}

これは最善のアプローチですか、それとももっとうまくできますか?

4

1 に答える 1

0

引数の配列を渡さないのはなぜですか?

コントローラ:

public function showAction(array $els)
{
    // ...

    return ['els' => $els];
}

意見:

{% render 'AcmeBundle:Demo:show' with {'els': {'el1': 1, 'el2': 5, 'el3': 7}} %}

または、数値のインデックス付き配列を渡したい場合:

{% render 'AcmeBundle:Demo:show' with {'els': [1, 5, 7]} %}

このようにして、必要な数の引数を渡すことができます。

于 2012-10-19T11:12:34.203 に答える