我正在使用蛋糕2.2。我想修改一个UserMgmt插件,以使用父应用程序中的几个模型和控制器。
我在插件中有一个视图,需要访问“酒店”控制器和“GetHotels”操作。我的插件视图有:
$this->Js->get('#UserRegionId')->event('change',
$this->Js->request(array(
'controller'=>'Hotels',
'action'=>'GetHotels'
), array(
'update'=>'#UserCategoryId',
'async' => true,
'method' => 'post',
'dataExpression'=>true,
'data'=> $this->Js->serializeForm(array(
'isForm' => true,
'inline' => true))
)
)
);
我怀疑我需要在UserMgmt.UsersController上的类定义之前添加app :: uses
App::uses('Hotel','Model');
App::uses('Hotels','Controller');
但我不行。
我收到错误错误:
Error: [MissingControllerException] Controller class HotelsController could not be found.
答案 0 :(得分:0)
视图中的代码未在内部访问控制器。 $this->Js->request()
通过ajax调用网址。所以你不需要App::uses()
。
将控制器/操作设置为小写。网址通常总是小写的(至少它们应该是为了理智!)。
'controller'=>'hotels',
'action'=>'get_hotels'
要测试这些是否有效,请直接访问路径:
http://yourdomain.com/hotels/get_hotels