質問

オートコンプリーターには必須オプションである 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 に基づいて環境を検出するようにフロント コントローラーを変更します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top