【问题标题】:php - CakePHP controller action not firingphp - CakePHP 控制器动作未触发
【发布时间】:2016-03-09 19:46:16
【问题描述】:

当我评论任何显示错误消息的操作时,PagesController 中的操作不会触发 bt。用户控制器工作正常。不知道是什么问题。 routes.php 没问题。基本上我从以前的团队那里接过这个项目。除 UsersCONtroller 重定向到主页外,所有控制器中的所有操作。 这是我的 PagesController :

App::uses('AppController', 'Controller'); class PagesController extends AppController { public function aboutus() { echo "test"; die; } }

这是我的用户控制器:

class UsersController extends AppController { public function faq() { echo "test"; die; } }

这是路由文件

Router::connect('/about', array('controller' => 'pages', 'action' => 'aboutus')); Router::connect('/faq', array('controller' => 'users', 'action' => 'faq'));

这里的用户控制器工作正常。

请帮忙

【问题讨论】:

  • 有很多可能出错的地方,但是您给我们的信息很少。我建议重新格式化您的问题,使其更具可读性并提供更多信息。
  • 更新了我的问题请看

标签: cakephp controller routing


【解决方案1】:

您是否在 AppController 中使用 Auth 组件?在这种情况下,您需要在 beforeFilter 函数中指定 auth allow:

public function beforeFilter() {

  /* Other code... */

   $this->Auth->allow(array("faq", "about")); // Add this

}

希望这会有所帮助。

和平! xD

【讨论】:

  • 感谢 Obhect Manipulator,你拯救了我的一天
  • 使用 $this->Auth->allow("*");这也一样吧?
  • 不客气,伙计! :) $this->Auth->allow("*");无需登录即可启用所有操作。它实际上可能是一个安全威胁。我建议你关注 $this->Auth->allow(array("faq", "about")); -> 这样。这样您就可以指定无需登录即可执行的操作。
猜你喜欢
  • 2013-02-27
  • 1970-01-01
  • 2013-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多