0

我有一个使用搜索控制器/模型的搜索表单。

echo $this->Form->create('Search', array('action' => 'query', 'type' => 'get'));
 ...
echo $this->Form->end();

但默认情况下,表单提交到'/searches/query'. 如何获取搜索页面的 URL /search/query

如果可能的话,我真的不想使用 .htaccess 重写,因为这看起来有点乱。希望有一个整洁的蛋糕方式来做到这一点。

我认为这可以通过 bootstrap.php 中的自定义 Inflector 规则来完成,但我不确定如何。

4

2 回答 2

2

只用路由器。在您的路线文件中,添加:

Router::connect('/search/:action/*', array('controller' => 'searches'));
Router::connect('/search/*', array('controller' => 'searches', 'action' => 'index'));

阅读本书中有关路由器的更多信息。

于 2012-07-17T17:40:56.220 回答
0

有没有办法说:

echo $this->Form->create('Search', array('action' => 'search/query', 'type' => 'get'));

然后为此设置路由器?

$this->Router->('search/query', array('controller' => 'searches', 'action' => 'query'));
于 2012-07-17T14:25:22.627 回答