我在backend / modules / ordini / actions / actions.class.php中创建了一个名为executeDetagli()的新动作。
当我尝试去“backend_dev.php / ordini / detagli”它给了我这个错误:
404 |找不到| sfError404Exception 动作“ordini / show”不存在。 堆栈跟踪
* at () in SF_ROOT_DIR/lib/vendor/symfony/lib/controller/sfController.class.php
第192行...... 189. $ this-> dispatcher-> notify(new sfEvent($ this,'application.log', array(sprintf('Action“%s /%s”没有 exists',$ moduleName,$ actionName)))); 190.} 191。
192. throw new sfError404Exception(sprintf('Action
“%s /%s”不存在。',$ moduleName, $ actionName)); 193.} 194。
195. // create an instance of the action * at sfController->forward('ordini',
'显示') 在SF_ROOT_DIR / lib / vendor / symfony / lib / controller / sfFrontWebController.class.php中 第48行...... 45.} 46。
47. // make the first request 48. $this->forward($moduleName,
$ actionName); 49.} 50. catch(sfException $ e) 51. { *在sfFrontWebController-> dispatch() 在SF_ROOT_DIR / lib / vendor / symfony / lib / util / sfContext.class.php中 第170行...... 167. * / 168.公共职能派遣() 169. { 170. $ this-> getController() - > dispatch(); 171.} 172。
13 p ... 10. require_once(dirname( FILE )。'/ .. / config / ProjectConfiguration.class.php'); 11。173. /** * at sfContext->dispatch() in SF_ROOT_DIR/web/backend_dev.php line
12. $configuration = ProjectConfiguration::getApplicationConfiguration('backend',
'dev',true); 13. sfContext :: createInstance($ configuration) - > dispatch(); 14。
我在routing.yml中有这个:
shop_order:
class: sfPropelRouteCollection
options:
model: ShopOrder
module: ordini
prefix_path: /ordini
column: orders_id
with_wildcard_routes: true
default:
url: /:module/:action/*
有什么想法吗?
sf 1.4 / propel
哈维
答案 0 :(得分:0)
尝试:
symfony cc
回答你的评论:在你的 routing.yml 中,尝试添加一个路由规则,如下一个,就在最终规则之前,以匹配{{ 1}}没有斜杠的模式(因为我猜module/action
动作与第一条规则不匹配):
ordini/detagli
同样,有很多解决方案可以通过一些谷歌搜索获得:
http://blog.phpleo.com/2008/01/27/redireccion-301-en-symfony-filtros-vs-htaccess/
http://www.decentmind.com/2010/07/symfony-without-a-slash-at-the-tail/
等
希望它有所帮助。