私が開発しているアプリケーションでは、view.ctp ファイルにフォームを次のように作成しました。
<?php
echo $form->create('Answer',array('action'=>'addanswer'));
echo $form->input('ques',array('value'=>'1'));
$userInfo=$this->Session->read('Auth.User');
$user=$userInfo['id'];
echo $form->input('user',array( 'value'=>$user));
echo $form->input('answer');
echo $form->end('Submit answer');
?>
そして、answers_controllers.php ファイルには、次のコードがあります。
<?php
class AnswersController extends AppController{
var $name= 'Answers';
var $uses = array('User');
function addanswer(){
if(!empty ($this->data)){
echo $this->data;
if($this->Answer->save($this->data)){
$this->Session->setFlash('The answer has been addedd successfully');
$this->redirect(array('action'=>'index'));
}
else{
$this->Session->setFlash('The answer was not saved. Please re enter the details');
}
}
$this->set('title_for_layout','Add a new Answer');
}
}
?>
しかし、回答の送信ボタン (view.ctp に記載されています) を押すと、オブジェクト以外のメンバ関数 save() への呼び出しが発生します。これに非常によく似たコードは完全に機能しましたが、これは機能していません。
私はcake phpを初めて使用するので、この問題を解決する方法についての助けをいただければ幸いです。
事前にどうもありがとうございました。