2010-02-24 107 views
0

Autocompleter有一个必需的选项 - url。问题是,它在Form.class中使用,其中url_for()和$ this-> getController() - > genUrl()都不起作用。所有的例子,我看到使用URL作为文字串,即生成URL Symfony sfFormExtraPlugin自动完成器

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

也许我得到的东西不对,但我相信写网址作为字符串不是一个好的做法。无论如何,除了使用frontend_dev.php,我无法得到它的工作,我的意思是,我应该在开发完成后手动更改每个Ajax URL吗?它不能这样。

我错过了什么?

回答

2

你有机会从形式(大部分的时间,你的动作)外部的URL,并把它作为一个选项,以您的形式:

$url = $this->generateUrl('my_route'); 
$this->form = new MyForm($object, array('url' => $url)); 

然后你使用getOption表单内访问方法:

$this->getOption('url'); 
0

我也有这个问题与AJAX。

我目前的方法是确保index.php在开发环境中工作 - 我改变前端控制器以基于url检测环境,而不是将其作为字符串传递。