我面临以下问题:在有订单记录的表中,我想在特定位置插入新记录或将记录复制/移动到另一个位置。Yii2错误的路线,如控制器/控制器/行动
在索引视图中,我在网格视图中定义了其他操作按钮{new} {copy} {move}。点击其中一个路由到一个名为select(controller/select)的新视图,该视图只有两个操作按钮{before} {after},表示该记录是放置在上面还是下面选定的记录。
点击其中一个按钮路由到控制器动作创建(如果以前被选中为新建)或控制器动作复制移动(控制器/创建或控制器/复制移动)。控制器完成他的工作,并用$ this-> redirect(['index'])返回索引视图。这工作正常。
再次点击索引视图{新} {复制} {移动}中的一个动作按钮我看到一个奇怪的路线:控制器/控制器/选择,而不是控制器/选择。此行为仅在我通过刷新浏览器从菜单调用索引视图时才会停止。
为什么会发生这种情况?这可能是因为之前在网格视图中选择操作后立即创建网格视图?以及如何避免这种行为?
这是工作流程:
call index view
click on action button {new} {copy} or {move}
create route controller/select
get the select view
in select view click on action button {before} or {after}
create route controller/copy or controller/copy-move
create a new record at the choosen position or copy/move it there
return $this->redirect(['index']) after controller has done his job
in index view again click onto action button {new} {copy} or {move}
create route controller/controller/select instead of controller/select which ends in a 404 error.
如何生成到'controller/select'的链接? – gmc
它在index.php中生成 - 在index.php中: – chrisly49
@gmc其生成如此: 'before'=> function($ url,$ model){ $ session = Yii :: $ app-> session; $ mode = $ session ['mode']; $ url =($ mode ==='create')? 'create?idTo =':'copy-move?idTo ='; return Html :: a(''.FA :: icon('upload')。'', $ url。$ model ['id']。'&position = before', ['title'=> '标题')]); – chrisly49