CakePHP - функция REST POST не работает с отображением по умолчанию - PullRequest
2 голосов
/ 22 декабря 2011

Я новичок в CakePHP и пытаюсь настроить мое веб-приложение для использования REST.

Я использую CakePHP версии 2.0.4.

Следуя книге рецептов CakePHP, я вошел вСледуя в файле rout.php («Яблоки», указывающие на контроллер ApplesController.php):

Router::mapResources('Apples');
Router::parseExtensions();

и в самом контроллере (ApplesController.php), я добавил следующий компонент:

public $components = array('RequestHandler');

Также в контроллере у меня есть действие добавления, которое отображает строку (следующим образом):

function add() {
    echo 'The add action has been called';
}

Наконец, я создал представление (index.ctp, расположенное в app / View /)яблок /), который использует HTML-форму с методом POST и действием «/ яблок /» для отправки.

<h2>Home<h2>
<form action="/apples/" method="post">
   <input type="submit" value="Submit" />
</form>

Теперь согласно CakePHP Bakery (http://bakery.cakephp.org/articles/rightwayindia/2010/01/11/restful-web-application-development-in-cakephp), mapResources должен автоматически сопоставить POST сдействие 'add' контроллера, указанного в файле rout.php, поэтому при нажатии кнопки следует повторить строку в действии add.

Это работает только при изменении параметра действия в HTML (в index.ctp):

<form action="/apples/add" method="post">

и явно указывают на действие добавления.

Я могу ошибаться, но я подумал, что, настроив REST в файле rout.phpдолжен автоматически сопоставлять конкретные методы REST с такими действиями, как добавление, редактирование, удаление и т. д. (указано на веб-странице, указанной выше) с контроллером, указанным в параметре функции mapResources.

У меня также естьпробовал пользовательскую маршрутизацию REST, но это тоже не работает.Однако было бы неплохо, чтобы он работал с отображением по умолчанию, а не настраивал его.

Любые предложения приветствуются.Спасибо.

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