flashメソッドが上手く動かない?

| コメント(0) | トラックバック(0)

忙しいんだけど、暇なときにぼちぼちCakePHPのチュートリアルをやっていて、昨日完了した。一気にやれば数時間で終わるんだけど、あまり気分が乗らなかったりして1ページずつやったりしてたので。

特にハマったところとかはなかったけど、1点だけ気になったところがあったのでメモ。

ブログ記事に削除や編集を終わった後に、メッセージを表示し、その後に記事の一覧ページに戻るはずなのだが戻らない。例えば更新完了後は以下の$this->flashでメッセージを表示した後に /posts にリダイレクトされるはず。

		if ($this->Post->save($this->data['Post'])) {
			$this->flash('Your post has been updated.','/posts');
		}

リダイレクトされずにその時に実行されたSQLとかが表示されていたので、原因はまぁリダイレクトのヘッダーを送信する前にSQLを表示しているせいなんだろうなぁと思った。

で、解決方法としてはデバッグレベルを変更するだけ。具体的にはapp/config/core.phpの以下の行を変更する。

Configure::write('debug', 2);

値を1にすると、flashメソッドの動作が「メッセージを表示し、それをクリックすると次の画面に遷移する」という感じになり、値が0の場合は通常通りメッセージが一定秒数表示され次の画面に自動的に遷移する。

トラックバック(0)

トラックバックURL: http://www.kazu.tv/blog-mgr/mt-tb.cgi/781

コメントする

このブログの作者

名前:kazu
仕事:IT関係の何でも屋
メール:kazu 後幕 kazu どと tv
詳しくはこの辺

このブログ記事について

このページは、kazuが2009年6月 6日 11:08に書いたブログ記事です。

ひとつ前のブログ記事は「再びカナダに」です。

次のブログ記事は「PageRank」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ