我有控制器UserController
和操作actionAjax
。我通过Chrome访问以下网址,它正常运行。
index.php?r=user/ajax
现在我定义名为actionAjaxUser
的新操作,仍使用Chrome访问网址index.php?user/ajaxUser
然后404返回。
我该怎么做才能获得actionAjaxUser
的内容?
答案 0 :(得分:3)
在" action"之后为每个额外的大写字母添加a" - "所以在你的情况下
index.php?r=user/ajax-user
因此,如果您有actionTest1Test2Test3
之类的操作,则网址将为controllername/test1-test2-test3
。
请注意,如果您使用的是访问规则,则还必须使用" url"路径。
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'actions' => ['test1-test2-test3'],
'allow' => true,
'roles' => ['@'],
],
],
],
];
同样的命名方案是btw。也用于控制器。例如。如果您的Controller名为Test1Test2Controller
,则视图文件夹名称将为test1-test2
。
希望这能为您澄清这一点。