アプリケーションでいくつかのパラメータを選択できるようにする必要があります。そこで私はフォームを作成しました。年を選択します。symfony2:フォームでurlルートパラメータを変更する
フォームの動作をGET
に変更し、name
をnull
に変更しました。フォームが送信されると、URLに古典的なurl-query-string-parameterが追加されます。
しかし、私はsymfony-routesを使用していますので、フォームを送信した結果がルートパラメータを変更するようにしたいと思います。ここで
は、明確化のための一例である:私はこの1つのようなルートを使用したいとします
@Route("/assignment/{year}", name="assignment")
function indexAction($year){...}
その後、私はこのようなフォームを送信を通じて年間のルート・パラメータを変更したいと思います。
$this->get('form.factory').createNamedBuilder(null, FormType::class)
->setAction('get')
->add('year', ChoiceType::class, ['choices' => [2016 => 2016, 2022 => 2022]])
->add('submit', SubmitType::class);
余分なjavascriptを追加せずにこれをアーカイブする方法はありますか? これをアーカイブできない場合は、どのような方法を選択するのが最適ですか? route-parameterを削除し、フォームデータを "手動で"扱うだけですか?
なぜこのフォームが必要ですか? 1つ以上のパラメータがない限り、ドロップダウン・アラート・ブートストラップを使用し、適切な年のリンクを各 'a'要素に追加する方がよいでしょう。 –