0

我正在使用蛋糕 2.2。我想修改一个 UserMgmt 插件以使用父应用程序中的几个模型和控制器。

我在插件中有一个需要访问“Hotels”控制器和“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.
4

1 回答 1

0

您在视图中的代码没有在内部访问控制器。$this->Js->request()正在通过 ajax 调用 url。所以你不需要App::uses().

将控制器/动作设置为小写。url 通常总是小写的(或者至少它们应该是为了理智的缘故!)。

'controller'=>'hotels',
'action'=>'get_hotels'

要测试这些是否有效,请自己直接访问路径:

http://yourdomain.com/hotels/get_hotels
于 2013-02-10T02:42:09.603 回答