为了保持我的脚本可维护,我将把每个脚本移动到他们自己的文件中,由控制器和操作组织:
// scripts which only apply to /views/posts/add.ctp
/app/webroot/js/page/posts/add.js
// scripts which only apply to /view/users/index.ctp
/app/webroot/js/page/users/index.js
Run Code Online (Sandbox Code Playgroud)
这一切都很酷,但我希望控制器自动添加这些,因为它显然知道控制器和动作的名称.
我想这是最好的地方AppController::beforeRender().(是?)
唯一的问题是我不知道如何将其实际添加到$scripts_for_layout变量中.我认为获得对javascript辅助对象的引用会起作用,但我无法从控制器中找到它!
class AppController extends Controller {
var $helpers = array("javascript", "html", "form");
function beforeRender() {
// ???
}
}
Run Code Online (Sandbox Code Playgroud)