Когда нажата кнопка «Редактировать» на индексном представлении, данные сначала передаются в действие «Редактирование PostsController». Так как функция «set» не вызывается внутри этого действия, как визуализируется рендеринг edit.ctp, а отредактированные данные отправляются обратно в действие «Изменить»?Учебник по блогам CakePHP Редактирование сообщений. Как представлены данные, доступные для действия редактирования?
ответ
Вы должны вставить код с вашего контроллера, чтобы люди могли точно видеть, о чем вы говорите.
Предполагая, что у вас есть довольно стандартный метод редактирования, он должен содержать строки что-то вроде этого:
$this->request->data = $this->Post->read(null, $id)
Итак, $this->request->data
установлен. Торт гарантирует, что все изображение $this->request
доступно на представлении. В суперклассе «Вид» есть массив под названием $_passedVars
, который включает, помимо прочего, request
. В представлении __construct
он копирует каждую переменную, названную в $_passedVars
, с контроллера, на представление.
Если вы хотите, чтобы увидеть детали, проверить /lib/Cake/View/View.php
, в частности, в $_passedVars
переменную, и первые несколько строк __construct
метода:
/**
* List of variables to collect from the associated controller.
*
* @var array
*/
protected $_passedVars = array(
'viewVars', 'autoLayout', 'ext', 'helpers', 'view', 'layout', 'name', 'theme',
'layoutPath', 'viewPath', 'request', 'plugin', 'passedArgs', 'cacheAction'
);
и
/**
* Constructor
*
* @param Controller $controller A controller object to pull View::_passedVars from.
*/
public function __construct(Controller $controller = null) {
if (is_object($controller)) {
$count = count($this->_passedVars);
for ($j = 0; $j < $count; $j++) {
$var = $this->_passedVars[$j];
$this->{$var} = $controller->{$var};
}
$this->_eventManager = $controller->getEventManager();
}
if (empty($this->request) && !($this->request = Router::getRequest(true))) {
$this->request = new CakeRequest(null, false);
$this->request->base = '';
$this->request->here = $this->request->webroot = '/';
}
if (is_object($controller) && isset($controller->response)) {
$this->response = $controller->response;
} else {
$this->response = new CakeResponse();
}
$this->Helpers = new HelperCollection($this);
$this->Blocks = new ViewBlock();
$this->loadHelpers();
parent::__construct();
}
- 1. CakePHP Блог Учебник - Редактирование Обычной
- 2. Начальный учебник для CakePHP 2.1?
- 3. CakePHP 3.0 Учебник по блогам Ошибка: вид для UsersController :: index() не был найден
- 4. Как сохранить ownToMany для редактирования действия в CakePHP 3.x?
- 5. CakePHP не получить данные для редактирования
- 6. Простое решение для текстовой разметки CakePHP для редактирования сообщений новостей
- 7. Как я могу указать доступные действия ActiveScaffold для каждой записи?
- 8. Ленивый Load Для блогам
- 9. CakePHP скрытые поля редактирования
- 10. Кэшированные данные, доступные по ссылке?
- 11. Как разрешить действия в CakePHP?
- 12. Завершена CakePHP Учебник код
- 13. CakePHP ACL учебник group_id
- 14. Магический триггер actionPayload доступные действия?
- 15. cakephp - datepicker bootstrap не заполняется при использовании действия редактирования
- 16. Доступные области для сообщений с богатыми слоями
- 17. Редактирование редактирования холста
- 18. Facebook приложение для редактирования сообщений
- 19. значения полей редактирования cakephp
- 20. Редактирование текста редактирования Box
- 21. Отображать данные, доступные при просмотре с возможностью редактирования/добавления элементов
- 22. Решение действия контроллера, которому отправлены данные: -CakePHP
- 23. Учебник по использованию multirec
- 24. Редактирование формы редактирования JQgrid
- 25. Учебник CakePHP не видит PostsController
- 26. cakephp auth компонент для редактирования информации
- 27. Cakephp простой учебник поисковой системы
- 28. Данные формы CakePHP для сеанса
- 29. Установка плагина Uploader для CakePHP 2.x
- 30. CakePHP Блог Учебник - Добавить Рутинный
использовать отладчик/сделать трассировку. –