Ошибка CakePHP «страница не найдена» - как избежать - PullRequest
0 голосов
/ 07 сентября 2010

Мне нужна некоторая справочная информация о CakePHP и о том, как он работает ...

Допустим, у меня есть метод (функция), определенный в контроллере CakePHP, т.е.deleteItem, например

function deleteItem( $id = null ) 
{
    $this->PublicationNumeration->delete( $id, true );
}

Разработанная мною CMS работает нормально, соответствующая запись удалена ($ id) и работает нормально.

Но если я попытаюсь вызвать этот метод из браузера,Я получаю сообщение об ошибке «страница не найдена».

Можно ли пропустить эту ошибку (независимо от того, как)?

Ответы [ 4 ]

3 голосов
/ 07 сентября 2010

Для режима разработки установите значение отладки 2 в app / config / core.php:

Configure::write('debug', 2);

Если вы установите значение отладки 2, вы можете получить подробное сообщение о том, что происходит. Из вашего описания есть две возможности:

  1. запись с указанным идентификатором была удалена, или
  2. вид из текущего действия не существует. Обычно в действии удаления вы не создавать вид, но перенаправить его на где-то еще (что вы не делаете в код выше).
1 голос
/ 07 сентября 2010

Если хотите, вы можете создать свои собственные страницы ошибок в /views/errors

0 голосов
/ 08 сентября 2010

Страница не найдена, потому что вы ее не создали (deleteItem.ctp). После оператора delete поместите перенаправление на страницу, на которую хотите вернуться, обычно на индексную страницу после операции удаления.

0 голосов
/ 07 сентября 2010

Убедитесь, что вы также включили имя контроллера в URL.Если имя класса вашего контроллера - CategoriesController, и вы хотите, например, удалить элемент с идентификатором 4, убедитесь, что вы переходите по этому адресу в браузере:

http://www.example.com/categories/deleteItem/4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...