Автозавершитель генерации URL-адреса Symfony sfFormExtraPlugin

StackOverflow https://stackoverflow.com/questions/2324989

Вопрос

У автозаполнителя есть обязательная опция - url.Проблема в том, что он используется в Form.class где ни url_for(), ни $this->getController()->genUrl() не работают.Все примеры, которые я видел, используют url в качестве литеральной строки, т. е.

$options = array('Model' => 'Model', 'url' => '/path');

Возможно, я что-то путаю, но я считаю, что писать URL-адреса в виде строки - не очень хорошая практика.В любом случае, если отбросить практику, я тоже не могу заставить это работать из-за использования frontend_dev.php Я имею в виду, что, я должен вручную изменять каждый URL-адрес Ajax после завершения разработки?Этого не может быть так.

Что я упускаю из виду?

Это было полезно?

Решение

Вы должны сгенерировать 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