我在继承的遗留Zend应用程序上遇到问题 - 想知道是否有人可以帮我调试?
到目前为止,我已经检查过了:
application.config.php - 正确加载模块:
'modules' => array(
'App',
'Finding',
'Listing',
等等
module.config.php并且该路径似乎没有路径,例如:
'listing' => array(
'type' => 'segment',
'options' => array(
'route' => '/admin/property/listing[/:action[/:id]][/:component/:optionTitle/:optionValue]',
'constraints' => array(
'action' => '[a-z0-9_-]*',
'id' => '[0-9]+',
'component' => '[a-z0-9_-]*',
'optionTitle' => '[a-z0-9_-]*',
'optionValue' => '[a-z0-9_-]*'
),
'defaults' => array(
'controller' => 'Admin\Controller\Listing',
'action' => 'list',
),
),
),
我收到的实际错误消息是:
The requested URL could not be matched by routing. No Exception available
我正在做的是在用户登录区域,单击加载确定的列表类别,然后提交POST表单,该表单更新与该ID关联的数据库中的特定属性。
然而,在提交时,如果不是路线问题,我会收到上述消息,还有其他方法可以跟踪此情况吗?
修改
注释看起来并不适合调试,所以我会按照要求在这里添加它们:
发布数据阵列:
[listingId] => 121 [colvalues] => Array ( [0] => 11 [1] => 22 [2] => 33 [3] => 44 [4] => 55 [5] => 66 [6] => 77 [7] => 88 )
个人网址结构
admin/property/listing/view/11111
它发布回到同一个网址 - 所以:
admin/property/listing/view
答案 0 :(得分:0)
该路线有一个可选的id
参数
/admin/property/listing[/:action[/:id]]
您没有发布id
参数,而是listingId
。
我的猜测是:
viewAction
中没有Admin\Controller\Listing
。
有控制器逻辑专门检查id
参数,如果没有提供,则返回带有404
状态代码的响应。
我认为这些原因的原因是因为即使您的路由(id
)中缺少admin/property/listing/view
参数,路由器仍应匹配控制器操作(因为id
是可选参数)。