Я сделал простую функцию «change_email» с ее представлением и всем содержимым в контроллере. На самом деле все работает нормально, кроме сохранения данных. Когда я представить свою форму и моя модель на самом деле запускает свой бросок() - метод CakePHP выдает ошибку:CakePHP хочет получить доступ к узлу ACL
AclNode::node() - Couldn't find Aro node identified by "Array ( [Aro0.model] => User [Aro0.foreign_key] => 11) "
Конечно, он не находит узел, так как она не была создана (когда пользователь регистрируется его учетная запись, узел не будет создан автоматически). Мне интересно, почему моя модель хочет найти узел, поскольку он не нужен для реальной работы.
public function change_email()
{
if ($this->request->is("put")) {
if (!empty($this->request->data)) {
$this->User->validator()
->add('password', array(
'valid' => array(
'rule' => 'validatePassword'
)
))
->add('email_confirm', array(
'valid' => array(
'rule' => 'validateEmail'
)
));
if ($this->User->save($this->request->data)) {
$this->set("status", true);
}
}
}
}
Это мой код в контроллере. Модель не имеет реального эффекта, кроме метода beforeFilter(), который только хеширует пароль.
У кого-нибудь есть идеи?
Я определил parentNode() в моей модели, возвращающей _null_. – Fortuna