人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【至急】cakePHP+jQuery MobileのPOST遷移について基本的な質問があります。
やりたいことは、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
よろしくお願いいたします。


●質問者: cochoo
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● holoholobird
●50ポイント

[A]の部分、なぜlayoutになっているのでしょうか。

情報をセーブするときには
$this->Recipe->save($this->request->data)
だと思うのですが。


cochooさんのコメント
ご回答ありがとうございます。 誤記ですね。 $this->Recipe->save($this->request->data)と変えても事象に変化はありませんでした。 もうしわけありません。

2 ● だわかき
●150ポイント ベストアンサー

$this->request->data にあたるオブジェクトがありません。

data-role="listview" の役割を誤解しているような気がします。
http://billboardtop100.net/2011/02/jquery-mobile-lists.html

実際に取得したいオブジェクトのIDが hoge なら
$this->request->hoge
で取得します。


cochooさんのコメント
ご回答ありがとうございます。 > data-role="listview" の役割を誤解しているような気がします。 > $this->request->hoge 昔そのような指定をしたような気がしましたが、 これでコントローラにViewのデータを渡すことができました。ありがとうございました。 【余談】 この後、ridirectできないという問題が発生しました。 おそらく、後発の問題とごっちゃとなっていて解決できずに悩んでしまったようです。 ただし、質問の内容はクリアできましたので、後発問題は別に調査・質問しようと思います。 ありがとうございました!!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ