0

データベースに書き込むフォームの内容を取得します。私のコードは次のとおりです。

ビュー (index.ctp):

<div class="modal fade" id="test_modal">
      <div class="modal-header">
        <a class="close" data-dismiss="modal">&times;</a>   
        <h1>Create Customer</h1>
      </div>
      <div class="modal-body"> 
        <?php
        echo $this->Form->create('Contact');
        echo $this->Form->input('type');
        echo $this->Form->input('name');
        echo $this->Form->input('company');
        echo $this->Form->input('phone');
        echo $this->Form->input('mobile');
        echo $this->Form->input('email');
        echo $this->Form->input('vatNumber');

        echo $this->Form->input('mainAddressLine1');
        echo $this->Form->input('mainAddressLine2');
        echo $this->Form->input('mainAddressTown');
        echo $this->Form->input('mainAddressCounty');
        echo $this->Form->input('mainAddressPostCode');
        echo $this->Form->input('mainAddressCountry');

        echo $this->Form->input('notes', array('rows' => '5'));
        echo $this->Form->end('Save Customer');
        ?>
      </div>
    </div>

コントローラー (ContactController.php)

class ContactsController extends AppController {
    public $helpers = array('Html', 'Form', 'Session');
    public $components = array('Session');

    public function index() {
        $this->set('contacts', $this->Contact->find('all'));
    }

    public function view($id) {
        if (!$id) {
            throw new NotFoundException(__('Invalid contact'));
        }

        $contact = $this->Contact->findById($id);
        if (!$contact) {
            throw new NotFoundException(__('Invalid contact'));
        }
        $this->set('contact', $contact);
    }

    public function add() {                 
        if ($this->request->is('post')) {
            $this->Contact->create();
            if ($this->Contact->save($this->request->data)) {
                $this->Session->setFlash('Your contact has been saved.');
                $this->redirect(array('action' => 'index'));
            } else {
                $this->Session->setFlash('Unable to add your contact.');
            }
        }
    }
}

モデル (Contact.php)

class Contact extends AppModel {    
}

どんな助けでも感謝します。

よろしく、スティーブン

4

1 に答える 1

0

ビューファイルindex.ctpindex(). そのメソッドは変数を設定するだけです。ビュー/アクションを混同していると思います。代わりにビューにフォームを追加して、 URIadd.ctpを呼び出してみてください。contacts/add

または、メソッドへの$this->render呼び出しを追加することで、レンダリングされるビューをオーバーライドできます。add()

public function add() {
    $this->autoRender = false;
    // Rest of your logic
    $this->render('index');
}

そうすれば、contacts/addURI は のindex.ctp代わりにビューを提供しますadd.ctp

于 2013-04-20T21:08:29.427 に答える