全てにおいて良い日。私は現在、cakePHPを使用してチャットアプリケーションを開発しています。質問への回答に焦点を当てたチャットアプリケーションになります。つまり、ユーザーは自分の質問に基づいて自動応答を受け取ります。私は現在、ユーザーがログインする必要のないチャットインターフェイスに取り組んでいます。チャットアプリケーションは、ユーザーが質問を送信した後にのみデータベーステーブルと対話します。今私の問題は、質問をコントローラーのメソッドに送信して、そこで解析する方法です。ビューファイルで次のことを実行しようとしました。
<!--View/People/index.ctp-->
<h1>This is the chat interface</h1>
<?php $this->Html->charset(); ?>
<p>
<!--This is the text area where the response will be shown-->
<?php
echo $this->Form->create(null);
echo $this->Form->textarea('responseArea', array('readonly' => true, 'placeholder' =>
'***********************************************************************************
WELCOME! I am SANTI. I will be the one to answer your questions regarding the enrollment process
and other information related to it. ***********************************************************************************', 'class' => 'appRespArea'));
echo $this->Form->end();
?>
</p>
<p>
<!--This is the text area where the user will type his/her question-->
<?php
echo $this->Form->create(null, array('type' => 'get', 'controller' => 'people', 'action' => 'send', ));
echo $this->Form->textarea('userArea', array('placeholder' => 'Please type your question here', 'class' => 'userTextArea'));
echo $this->Form->end('Send');
?>
</p>
これはコントローラーです:
<!--Controller/PeopleController.php-->
<?php
class PeopleController extends AppController{
public $helpers = array('Form');
public function index(){
}
public function send(){
//parsing logic goes here
}
}
?>
ご覧のとおり、index.ctpのフォームに、PeopleControllerのsend()メソッドをポイントするように指示しているので、データベースと対話する前に質問を解析できます。ボタンをクリックしたときに発生する問題は、常に/ users / loginにリダイレクトされることですが、これは私が望んでいることではありません。アプリケーションが/people/sendを指すようにしたいだけです。その場合の問題は何だと思われますか?私はインターネットとドキュメントの両方で答えを探してテストしましたが、これまでのところ問題を解決するものはありません。誰かがこれについて私を助けてくれますか?私はこれを何日も解決しようとしてきました。
私はこのエラーを受け取り続けます:
Missing Method in UsersController
Error: The action *login* is not defined in controller *UsersController*
Error: Create *UsersController::login()* in file: app\Controller\UsersController.php.
<?php
class UsersController extends AppController {
public function login() {
}
}