0

如果我使用它它的工作。但是如果我重命名函数名,它会显示错误

在视图文件中:

echo $this->Html->link( '<span>Page 1</span>', array('action' => 'ra'), array('escape' => false));

在控制器中:

public function ra()
    {
    $this->render('ra');    
    }
4

2 回答 2

1

按照惯例,视图文件必须与方法(动作)名称相同。

如果你想改变一个 URL 的外观,你应该使用routes,而不是重命名你的方法/视图。

如果您希望.ctp为给定的操作呈现不同的文件,那么您可以覆盖默认行为,如下所示:

public function ra() {
    $this->render('my_other_view'); 
}

URL中action指定的必须始终存在以避免错误(但路由允许您为操作使用替代“名称”并将它们映射到适当的控制器方法)。

于 2013-09-25T09:20:41.400 回答
0

视图模板文件以它们显示的控制器功能命名,并带有下划线。PeopleController 类的 getReady() 函数将在/app/views/people/get_ready.ctp.

基本模式是/app/views/controller/underscored_function_name.ctp.

通过使用 CakePHP 约定命名应用程序的各个部分,您可以获得功能,而无需配置的麻烦和维护束缚。这是绑定约定的最后一个示例

数据库表:“people” 模型类:“Person”,位于/app/models/person.php Controller 类:“PeopleController”,位于

/app/controllers/people_controller.php
View template, found at /app/views/people/index.ctp

阅读:查看约定

另请阅读:CakePHP 约定

于 2013-09-25T09:16:57.520 回答