我在 routes.php 中有自己的路由规则,为应该通过 URL 访问的所有页面定义,例如 mywebsite/blog/ 和 mywebsite/blog/category/category-name,即我的整个网站的结构由我的自定义路线。
现在,我有很多使用 requestAction 的元素,例如
$websiteabstract = $this -> requestAction(array(
'controller' => 'assets',
'action' => 'displayHomeAbstract'
));
这给了我一个错误错误:找不到控制器,可能是因为我没有为 /assets/displayHomeAbstract 定义路由。但是,当我明确声明控制器的名称和操作时,为什么我必须为此定义自定义路由?那不应该完全绕过路由吗?要么我根本不了解路由。还是我真的必须在我的 routes.php 中定义所有可能的路由(甚至是那些仅由 requestAction 使用的路由)?我的意思是,我不想让用户直接访问 mywebsite/assets/displayHomeAbstract,只能通过一个元素。
谢谢
编辑:这是我的 routes.php http://pastebin.com/aAKBwNZJ 请看一下第 128 行,这正是我不想要的,因为 /assets/displayHomeAbstract 只能通过 requestAction 访问。
编辑:这是发出请求的元素:http: //pastebin.com/0tK5dYJk