1

各アプリケーションにはインスタンスがあります。URL mananagerへの適切な方法を試すと

'application/<slug:[\w+]+>/instance/create/' => 'instance/create',
'application/<slug:[\w+]+>/instance/<uuid:[\w0-9]+>/update/' => 'instance/update',

リンクを開くには、次の形式でパスを設定します。

$this->menu=array(
    array('label'=>'Create Instance', 'url'=>Yii::app()->createUrl('instance/create',  array('slug' => $model->application->slug, 'uuid' => $model->uuid))),
array('label'=>'Update Instance', 'url'=>Yii::app()->createUrl('instance/update', array('slug' => $model->application->slug, 'uuid' => $model->uuid))),

エラーが発生する

include(optional_note.php): failed to open stream: No such file or directory 

紹介を満足させるために必要なファイルとは何ですか?

アップデート

public function actionCreate()                                         
{                                                                      
$model=new Instance;                                                  
    $model->application_id = $this->_application->id;                  

// Uncomment the following line if AJAX validation is needed          
// $this->performAjaxValidation($model);                              

if(isset($_POST['Instance']))                                         
{                                                                     
    $model->attributes=$_POST['Instance'];                               
    if($model->save())                                                   
            $this->redirect(array('view','uuid'=>$model->uuid));                
}                                                                     

$this->render('create',array(                                         
    'model'=>$model,                                                     
));                                                                   
}

アップデート

奇妙な動作が発生し、次のフィールドパラメーターを取得します

Stack Trace
#3 \yii-1.1.12.b600af\framework\base\CModel.php(285): CValidator::createValidator("optional_note", Instance, "uuid", array(0 => "length", "max" => 128)) 
#4 \yii-1.1.12.b600af\framework\base\CModel.php(259): CModel->createValidators()
#5 \yii-1.1.12.b600af\framework\base\CModel.php(302): CModel->getValidators("uuid")
#6 \yii-1.1.12.b600af\framework\web\helpers\CHtml.php(1197):  CModel->isAttributeRequired("uuid")
#7 \yii-1.1.12.b600af\framework\web\widgets\CActiveForm.php(563): CHtml::activeLabelEx(Instance, "uuid", array()) 
#8 \protected\views\instance\_form.php(25): CActiveForm->labelEx(Instance, "uuid")


 <?php echo $form->errorSummary($model); ?>
 <div class="row">
     <?php echo $form->labelEx($model,'uuid'); ?>
     <?php echo $form->textField($model,'uuid',array('size'=>60,'maxlength'=>128)); ?>
     <?php echo $form->error($model,'uuid'); ?>
 </div>
  <div class="row">
4

1 に答える 1

3

見る:

CValidator::createValidator("optional_note", Instance, "uuid", array(0 => "length", "max" => 128)), 

モデルのルールを確認する

array('uuid', 'optional_note' ...

間違っています。列名を同じ文字列に入れる必要があります

array('uuid, optional_note', ...
于 2012-10-15T09:19:02.670 に答える