CakePHP форма редактирования URL прерывает маршрутизацию - PullRequest
0 голосов
/ 31 декабря 2011

У меня есть следующий код для создания формы в моем приложении:

<?php echo $this->Form->create('User', array('action'=>'edit')); ?>

и у него есть маршрут вроде:

Router::connect('/settings', array('controller'=>'users','action'=>'edit'));

Однако действие неправильное ...

<form action="/users/edit/6" method="post" accept-charset="utf-8">

Если я выставлю форму по умолчанию с помощью:

<?php echo $this->Form->create(); ?>

тогда это решает проблему маршрутизации, но почему указание параметров нарушает маршрутизацию ???

1 Ответ

1 голос
/ 01 января 2012

Когда вы указываете в параметрах create () фактический URL - он будет сопоставлен с этим URL! Конфигурация маршрутов не отображается в обратном направлении. Например - если вы посетите /settings, она загрузит страницу /edit с URL-адресом, все еще показывающим /settings. Но если вы посетите /edit, он покажет URL и загрузит страницу /edit.

Поэтому, если вы хотите, чтобы действие формы отображалось в / settings, не указывайте URL или не используйте опцию URL array('url' => '/settings')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...