我想在我的网站上做一些自定义路由,但在一个非常愚蠢的问题上一直停留2天。我有以下的路由配置:未找到CakePHP路由URL!
Router::connect('/your-solution/add-comment/*', array('controller' => 'comments', 'action' => 'add'));
Router::connect('/admin/your-solution/add-comment/*', array('controller' => 'comments', 'action' => 'add', 'admin' => true));
的问题是,当我尝试加载使用第二路径格式化的URL,它给了我没有找到404。 第一条规则正常工作。
对于这两个规则,我有一个单独的元素,包含一个表单,并指向格式化后的各自的规则。这两个操作的唯一参数是解决方案标识,该标识在通配符中“包含”。
可能是什么问题?非常感谢您的帮助!
编辑:
我发现了另一个奇怪的行为。当我访问/admin/your-solution/add-comment/3
时,它会执行该操作。但是,如果我向该链接提交表单,则会显示一个空白页面,使用Firebug通知我该页面未找到。很奇怪... 另外,我有一条类似的编辑评论路线。加载编辑表格和保存表格工作...
您是否在代码中使用安全组件? – JohnP 2011-03-26 09:53:11
是的,我正在使用它。 – linkyndy 2011-03-26 12:49:12
查看我的评论以上Linkyndy!这是因为SecurityComponent期望所有的输入都是使用FormHelper创建的(即:$ form-> input())。如果这是导致你麻烦的领域,你可以将它添加到$ disabledFields数组中。干杯! – fsodano 2011-03-26 15:33:57