この質問は少し不自然ですが、CakePHP のドキュメントや Google で満足のいく解決策を見つけることができませんでした。
データベース内の情報を更新し、その情報をページに表示する単純な AJAX フォームを作成しようとしています。update div を事前設定する方法がわからないことを除いて、プロセス全体は簡単に見えます。
私のビューコードでは、
<div id="interestingContent"></div>
<?
echo $this->Form->create();
// create form fields here
echo $this->Js->submit('Save', array('update'=>'#interestingContent');
echo $this->Form-end();
echo $this->Js->writeBuffer();
?>
これはうまく機能し、フォームが送信されると、コントローラーが正しく呼び出します
$this->render('ajaxview','ajax')
#interestingContent
div を適切に更新します。
#interestingContent
では、質問:データベースから事前入力する最良の方法は何ですか? もちろん、ajaxview.ctp
内部からコードを繰り返すこともできます#interestingContent
が、それには DRY の方法が必要なようです。
私が最初に考えたのはajaxview.ctp
、基本的にあるビューを別のビューに埋め込もうとしているので、要素を作成することでした。ただし、コントローラーが要素のビューを直接レンダリングするため、これはハックのように思えます。2.1/2.2 の新しいビュー ブロックも検討しましたが、それも正しくないようです。
この種のことは常に出てくると確信しています。これを行う一般的に受け入れられている方法はありますか?