URL の生成 Symfony sfFormExtraPlugin オートコンプリーター
-
22-09-2019 - |
質問
オートコンプリーターには必須オプションである URL があります。問題は、url_for() も $this->getController()->genUrl() も機能しない Form.class で使用されていることです。私が見たすべての例では、URL をリテラル文字列として使用しています。
$options = array('Model' => 'Model', 'url' => '/path');
もしかしたら何か間違っているのかもしれませんが、URL を文字列として書くのは良い習慣ではないと思います。とにかく実践はさておき、frontend_dev.phpを使用しているため、それを機能させることができません。つまり、開発が終了した後、すべてのAjax URLを手動で変更する必要があるのでしょうか?そんなはずはない。
私には何が欠けているのでしょうか?
解決
あなたは、フォーム(ほとんどの時間、あなたの行動)外部からURLを生成し、フォームのオプションとして、それを渡す必要があります:
$url = $this->generateUrl('my_route');
$this->form = new MyForm($object, array('url' => $url));
次に、あなたはgetOption
メソッドを使用してフォーム内でアクセス
$this->getOption('url');
他のヒント
ajaxでもこの問題があります。
私の現在の方法は、index.php が開発環境で動作することを確認することです。文字列として渡すのではなく、URL に基づいて環境を検出するようにフロント コントローラーを変更します。
所属していません StackOverflow