我在这里面临一个非常奇怪的错误。我试图在我的控制器中调用一个动作,但它导致404页面。
我的模块叫admin,控制器叫Product。代码如下
class ProductController extends Controller
{
public function actionIndex()
{
$session = Yii::$app->session;
if($session->has('user'))
{
$this->layout="admin-layout";
$numbers= UserPurchasedNumber::find()->all();
return $this->render('index',["number"=>$numbers]);
}
else
{
return $this->redirect(['admin/default/login']);
}
}
public function actionPurchaseLocalNumber() //Dont get called
{
$session = Yii::$app->session;
if($session->has('user'))
{
$this->layout="admin-layout";
return $this->render('addlocalnumber');
}
else
{
return $this->redirect(['admin/default/login']);
}
}
}
在我看来,我试图调用的网址是这样的
<div style="text-align: center; padding:15px">
<a href="<?php echo Yii::$app->urlManager->createUrl('admin/product/purchaselocalnumber'); ?>" class="btn btn-primary">Purchase Numbers</a>
</div>
但它却抛出404。
事实上,当我把动作名称改为
购买
仅仅从视图文件中调用它就可以了?
有什么问题吗?
问题是位于你的网址。
admin产品购买本地号码。
您的操作被命名为:
actionPurchaseLocalNumber
所以你的url必须像: admin产品采购-本地号码