2017-04-16 4 views
0

私はYII2でそれを行う方法が分かりませんし、ドキュメントで何も見つかりませんでした。 は、私が試してみた:Yii2 ActiveControllerはデフォルトのポストアクションを書き直します

public function actionCreate() { 
    //code 
} 

私のコントローラを:

<?php 
namespace app\controllers; 

use yii\filters\auth\HttpBasicAuth; 
use yii\rest\ActiveController; 

class TempController extends ActiveController 
{ 
    public $modelClass = 'app\models\Event'; 

} 
?> 

Yii2 ActiveControllerのデフォルトのポストのアクションを書き換える方法は?

答えて

0

私はデフォルトでPOSTのHTTPメソッドを使用してcreateアクションを意味するポストアクションを想定しています。

TempControllerでactions()メソッドをオーバーライドする必要があります。

/** 
* @inheritdoc 
*/ 
public function actions() 
{ 
    $defaultActions = parent::actions(); 
    unset($defaultActions['create']); 
    return $defaultActions; 
} 

をそして、あなたが前に試みたように、今、あなたはあなた自身のactionCreateメソッドを書くことができます。

あなたはそれを削除することができます。

それとも、別のアクションクラスを作成し、代わりにそれを使用することができます。

/** 
* @inheritdoc 
*/ 
public function actions() 
{ 
    $defaultActions = parent::actions(); 
    $defaultActions['create'] = [ 
     'class' => 'yii\rest\CreateAction', // change it to your class 
     // modify configuration below, or not 
     'modelClass' => $this->modelClass, 
     'checkAccess' => [$this, 'checkAccess'], 
     'scenario' => $this->createScenario, 
    ]; 
    return $defaultActions; 
} 
関連する問題