やりたいことは、jQueryのlistviewを使って複数の情報を入力したのち、結果をDBに保存しようというものです。以下のようなコードを作りましたが、POST遷移後の[A]でエラーとなり、DBへの保存はできなかったため、困っております。
コード上おかしい点がないか、お気づきの点がございましたら、ご指摘・ご教授をお願いいたします。
■TestsController.php
public function view() {
if ($this->request->is('post')) {
if ($this->Layout->save($this->request->data)) { … [A]
<略>
}
$this->redirect(array('action' => 'index'));
}
■View/Tests/index.ctp
echo $this->form->create('Test', array('controller' => 'Tests', 'action' => 'view'));
<ul data-role="listview">
<略>
</ul>
<button type="submit" name="submit" value="submit-value" class="ui-btn-hidden">Submit</button> … [B]
<?php echo $this->Form->end() ?>
■環境
さくらインターネット・スタンダードプラン
PHP 5.2.17
cakePHP 2.3.5
jQuery 1.7.2
jQuery Mobile 1.3.2
よろしくお願いいたします。
$this->request->data にあたるオブジェクトがありません。
data-role="listview" の役割を誤解しているような気がします。
http://billboardtop100.net/2011/02/jquery-mobile-lists.html
実際に取得したいオブジェクトのIDが hoge なら
$this->request->hoge
で取得します。
[A]の部分、なぜlayoutになっているのでしょうか。
情報をセーブするときには
$this->Recipe->save($this->request->data)
だと思うのですが。
ご回答ありがとうございます。
誤記ですね。
$this->Recipe->save($this->request->data)と変えても事象に変化はありませんでした。
もうしわけありません。
$this->request->data にあたるオブジェクトがありません。
data-role="listview" の役割を誤解しているような気がします。
http://billboardtop100.net/2011/02/jquery-mobile-lists.html
実際に取得したいオブジェクトのIDが hoge なら
$this->request->hoge
で取得します。
ご回答ありがとうございます。
> data-role="listview" の役割を誤解しているような気がします。
> $this->request->hoge
昔そのような指定をしたような気がしましたが、
これでコントローラにViewのデータを渡すことができました。ありがとうございました。
【余談】
この後、ridirectできないという問題が発生しました。
おそらく、後発の問題とごっちゃとなっていて解決できずに悩んでしまったようです。
ただし、質問の内容はクリアできましたので、後発問題は別に調査・質問しようと思います。
ありがとうございました!!
ご回答ありがとうございます。
2013/08/06 23:19:54> data-role="listview" の役割を誤解しているような気がします。
> $this->request->hoge
昔そのような指定をしたような気がしましたが、
これでコントローラにViewのデータを渡すことができました。ありがとうございました。
【余談】
この後、ridirectできないという問題が発生しました。
おそらく、後発の問題とごっちゃとなっていて解決できずに悩んでしまったようです。
ただし、質問の内容はクリアできましたので、後発問題は別に調査・質問しようと思います。
ありがとうございました!!