система маршрутизации была для меня загадкой, но после прочтения, может быть, я помог вам.
В приложениях> имя_приложения> confing> routing.yml добавьте ТОП файла. этот маршрут:
refus_new_route:
url: /refus/new/:logment_id
params: { module: refus , action: new}
autocompleteNud:
url: /refus/autocompleteNud/:q
params: { module: refus , action: autocompleteNud}
Это говорит Symfony, что когда кто-то запрашивает что-то вроде: http://hosts/index.php/refus/new/10, он должен посмотреть в модуле, отклонить действие с именем new и передать параметр с именем logment_id.
После этого вы должны очистить кеш.
Второе, что нужно сделать, это изменить это
<a href="<?php echo url_for('refus/new?logement='.$logement->getId()) ?>">Nouveau refus</a>
для этого
<?php echo link_to('Nouveau refus', 'refus/new', array('logement' => $logement->getId())); ?>
Наконец, измените ваш виджет, чтобы использовать новый маршрут:
sfConfig::getInstance()->getConfiguratio()->loadHelpers('Url');
$this->widgetSchema['locataire'] = new sfWidgetFormJQueryAutocompleter(array('url' => url_for('@autocompleteNud'),
'config' => '{
scrollHeight: 300,
autoFill: true}'));
Надеюсь, это полезно!