- 1 名前:nobodyさん [2012/05/01(火) 16:58:44.53 ID:fVBzm1/A]
- CakePHPは、Ruby on Railsの概念の多くを取り入れた、Rails流の高速開発とPHPの機動性を兼ね備えたフレームワークです
CakePHPから派生したLithium(li3)も専スレできるまではここでどうぞ 質問するときはCakePHPのバージョンを書きましょう ※他フレームワークとの比較等はスレ違いです テンプレは>>1-5くらい には無いかも ■本家 www.cakephp.org/ APIドキュメント api.cakephp.org/ the Bakery bakery.cakephp.org/ CakeQs cakeqs.org/ CheatSheet (PDF) cakephp.org/files/Resources/CakePHP-1.2-Cheatsheet.pdf github - cakephp github.com/cakephp ■日本語公式 cakephp.jp/ フォーラム cakephp.jp/modules/newbb/ cookbook(マニュアル) book.cakephp.org/ja 前スレ 【PHP】フレームワーク CakePHP 13ホール目【v2.0】 kohada.2ch.net/test/read.cgi/php/1320768310/
- 688 名前:nobodyさん mailto:sage [2012/10/29(月) 12:39:28.07 ID:???]
- >>687
バリデーションチェックでnotempty指定してるとか?
- 689 名前:687 mailto:sage [2012/10/29(月) 13:21:50.79 ID:???]
- >>688
SQLのダンプを表示させたところ findのSQLは どちらも同じなのですが、Num.rowsが saveした方では0になります。 save後にfindが走っているってことでしょうか
- 690 名前:nobodyさん [2012/10/29(月) 13:44:36.50 ID:h036kd/w]
- apps/Console/CommandHogeShell.php
この中で定義したメソッドに引数を渡す事ってできないの? CUIから内部で定義したメソッドをキックすると Warning Error: Missing argument 1 for HogeShell::Test() っていうエラーが出ちゃうんだけど。
- 691 名前:nobodyさん mailto:sage [2012/10/29(月) 13:55:16.32 ID:???]
- マニュアル読みなさい
- 692 名前:nobodyさん mailto:sage [2012/10/29(月) 15:09:32.64 ID:???]
- findについて質問です。
以下のようなモデルがあるとして A hasMany B B belongsTo C A.id = 1のCのリストを取得 $this->A->find('all', 'conditions'=>array('A.id'=>1))として 取得した中のBの中に含まれるCをとってくるしかないのでしょうか SQL文としては以下のようなものを想定しています。 SELECT C.* FROM A, B, C WHERE A.id=1 AND A.id = B.a_id AND C.id = B.c_id
- 693 名前:692 mailto:sage [2012/10/29(月) 15:56:52.28 ID:???]
- 'joins'で紐付けできました。
お騒がせしました
- 694 名前:687 mailto:sage [2012/10/29(月) 16:35:42.03 ID:???]
- find();
SQLダンプと結果の出力 exit; save(); だと、SQLダンプと結果はNumrows = 1 (データ更新されていないので何度呼び出しても、、)ですが find(); SQLダンプと結果の出力 save(); だと SQLダンプは同じで、Numrows=0になります。 後ろで行った saveが 前に書かれたfindに影響を与えるというのがどうしてなのかがわかりません。
- 695 名前:nobodyさん mailto:sage [2012/10/29(月) 16:45:00.54 ID:???]
- なにいってんだこいつ
- 696 名前:687 mailto:sage [2012/10/29(月) 16:49:40.01 ID:???]
- Queryを見ると saveを入れた方は
1. SELECT 文 Num.rows = 0 2. SELECT COUNT文 3. UPDATE 文 Num.rows = 1 となっていました。 3の結果が1へ影響しているみたいです。
- 697 名前:nobodyさん [2012/10/29(月) 19:04:11.24 ID:h036kd/w]
- >>691
マニュアルのどこにかいてんのさ。
- 698 名前:nobodyさん mailto:sage [2012/10/29(月) 19:18:29.22 ID:???]
- 書いてあるから隅々まで全部読みなさい
- 699 名前:687 mailto:sage [2012/10/29(月) 19:20:25.68 ID:???]
- すいません、私のブラウザのせいでした。
へんな機能拡張がページを2回呼んでたみたい
- 700 名前:nobodyさん mailto:sage [2012/10/30(火) 00:25:02.95 ID:???]
- >>697
cakephpでコマンドで引数を渡す とかでぐぐればいくらでも出てくるだろボケ
- 701 名前:nobodyさん [2012/10/30(火) 16:38:01.14 ID:sDbMhdsy]
- >>700
サンキュー。 あと $contents = @file($reading_file_name ); の @ ってなに?
- 702 名前:nobodyさん mailto:sage [2012/10/30(火) 16:42:13.00 ID:???]
- >>701
https://www.google.co.jp/search?q=php+%E3%82%A2%E3%83%83%E3%83%88%E3%83%9E%E3%83%BC%E3%82%AF&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&hl=ja&client=firefox-a
- 703 名前:nobodyさん mailto:sage [2012/10/30(火) 17:21:19.86 ID:???]
- >>701
お前はPHPの基本からやり直せ
- 704 名前:nobodyさん mailto:sage [2012/10/31(水) 01:06:58.14 ID:???]
- フレームワーク以前の問題ですな
- 705 名前:nobodyさん mailto:sage [2012/10/31(水) 12:18:01.71 ID:???]
- >>701
顔洗って出直してこいw
- 706 名前:nobodyさん mailto:sage [2012/10/31(水) 15:08:44.33 ID:???]
- passedArgsとgetの共存ってどしたらいいすか?
formヘルパから作られるgetをrest的なpassedArgs形式で渡したいッス。 example.com/controller/action/arg1:val1/arg2:val2/?arg3=val3 ってなってるヤツを example.com/controller/action/arg1:val1/arg2:val2/arg3:val3 としたいッス。 js使えば行けるし受け側でgetの処理をすればいけるんだけど、こうすれば楽じゃね?的なご指摘あればうれしいです。 >>671 現状はactionでgetとごちゃまぜにしたり、場合によってはappControllerでget優先で$this->passedArgsを書き換えてる感じッス。
- 707 名前:nobodyさん mailto:sage [2012/10/31(水) 15:10:54.24 ID:???]
- 了解ッス
- 708 名前:nobodyさん mailto:sage [2012/10/31(水) 19:38:39.19 ID:???]
- >>706
バージョン書けって 2系ならある程度分かってるから教えられるけど、 passedArgsってパラメータは1.3系なのかよ?
- 709 名前:nobodyさん mailto:sage [2012/10/31(水) 20:41:07.57 ID:???]
- >>708
2っすわー。
- 710 名前:nobodyさん mailto:sage [2012/10/31(水) 22:21:21.64 ID:???]
- >>709
api.cakephp.org/class/form-helper#method-FormHelpercreate FormHelper::create($mode, $options) の、第2パラメータ $options に、 'url'をキーとしたパラメータをセット。 'url' の値は string | array で、そういうパラメータを渡したい場合は 連想配列で構造を渡す。 CakePHPのルータがこの連想配列のURLパラメータと現実のURLを相互変換するのは理解OK? で、通常のURLパラメータに該当しないキーで値をセットすると、 ・・・つまり array('arg1'=>'val1', 'arg2'=>'val2') のようにやると、やりたいことができる。
- 711 名前:nobodyさん mailto:sage [2012/10/31(水) 22:50:43.25 ID:???]
- 何いってんの?
formにゅうりょくちをコロンセパレートにしたいんだろ formってそういう仕様だから、自分で言ってるとおりjsでがんばる。それかばかだけどリダイレクトしちゃえ
- 712 名前:nobodyさん mailto:sage [2012/10/31(水) 23:58:50.04 ID:???]
- んなもんそれ以外の方法で出来るわけねーだろ
- 713 名前:706 mailto:sage [2012/11/01(木) 11:41:29.98 ID:???]
- みんな色々意見あざす〜。
結局ちまちまやるっきゃないぽいっすね〜。 みんなそうしてるんかね〜。マンドクサ
- 714 名前:nobodyさん mailto:sage [2012/11/01(木) 13:50:06.03 ID:???]
- 俺もフレームワーク使う限りには効率的なやり方を模索して
長時間、あれやこれやと試すことがあるけど、 目的は「動く」事だから、効率化や綺麗なソースよりも まずは動くことを目指してやると良いよ。こだわりすぎはいかんぞ。
- 715 名前:nobodyさん mailto:sage [2012/11/01(木) 15:07:46.14 ID:???]
- cakephp2.2を使用しています。
ビューからrequestActionでカテゴリを取得しようとしているのですが、 $this->requestAction('/widget/category'); widgetコントローラにcategoryアクションが無い場合は どうすればいいのでしょうか? 単なる構文ミスでエラーになるのですが、 存在確認みたいなコードがあれば教えてください。
- 716 名前:nobodyさん mailto:sage [2012/11/01(木) 16:54:03.16 ID:???]
- >>714
納品してポイなら良いんだけどね〜。 何年か自分たちでメンテしていくことになるときには気分の良いコードの方が精神衛生上いいなぁと。 まぁそうは言ってもね、一年前のコード見てすごく気分悪くなるんですけどねw
- 717 名前:nobodyさん [2012/11/03(土) 21:12:09.24 ID:nZj97DWz]
- 質問なんですけど、cakePHP 2.0 で認証時に使用するテーブルの列の名前を
id じゃなくて login_id にしたいんですけど、この列名って固定なんでしょうか?
- 718 名前:nobodyさん [2012/11/03(土) 21:18:17.79 ID:X1g36ZBW]
- $primaryKey
- 719 名前:nobodyさん mailto:sage [2012/11/03(土) 21:43:28.47 ID:???]
- >>717
primaryKey を login_id に設定した上で 下記コードを記述しました。 <td><?php echo $this->Form->input('login_id', Array('label' => false,'style' => 'width:150px;')); ?></td> するとなぜか、コンボボックスが表示されてしまうんですけどなんでしょうか?
- 720 名前:nobodyさん mailto:sage [2012/11/03(土) 22:58:33.57 ID:???]
- マニュアルのFormの項目見たりFormHelperのAPIリファレンスみたりソース見たりしてきて
- 721 名前:nobodyさん mailto:sage [2012/11/03(土) 23:04:10.03 ID:???]
- 適当に調べてみます。
- 722 名前:nobodyさん mailto:sage [2012/11/03(土) 23:10:32.22 ID:???]
- >>719
FormHelper::input は、オプションの自動補完機能があるんですよ〜 で、***_id っていうフィールド名の場合、フォームのデータ型を指定しないとselect扱いになるというわけ。 それを回避するには、オプションで明示的に'type'を'text'とかに指定する。
- 723 名前:nobodyさん mailto:sage [2012/11/04(日) 00:26:48.52 ID:???]
- >>722
ありがとうございます。全くしりませんでした。。。 別な方法で迂回して対処しようとしてました。。。
- 724 名前:nobodyさん mailto:sage [2012/11/04(日) 00:44:08.63 ID:???]
- AdminsController.php の中に次のコードを書いています。
public $uses = Array('User'), $components = Array( 'Session', 'Auth' => Array( 'loginRedirect' => Array('controller' => 'admins', 'action' => 'index'), // ログイン後のリダイレクト先 'logoutRedirect' => Array('controller' => 'admins', 'action' => 'login'), // ログアウト後のリダイレクト先 'loginAction' => Array('controller' => 'admins', 'action' => 'top'), // ログインしていない場合のリダイレクト先 'authenticate' => Array('Form' => Array('fields' => Array('username' => 'email'))) ) ); そしてブラウザより /admins/add にアクセスすると問題無く /admins/addのコントローラが実行され /Views/Admins/add.ctp が表示されるのですが /admins/addcustomer にアクセスすると、/admins/top に飛ばされてしまいます。 なぜ、/admins/add がリダイレクトされないのに /admins/addcustomer だと リダイレクトされてしまうのでしょうか? ※add() { //略 } をコピーして作成したコントローラ内のファンクションが addcustomer () { //略 }となります。
- 725 名前:nobodyさん mailto:sage [2012/11/04(日) 11:00:47.88 ID:???]
- CakePHP 5.0ぐらいになったら使う
- 726 名前:nobodyさん mailto:sage [2012/11/04(日) 12:56:08.07 ID:???]
- >>1にあるフォーラムで新規登録したいのだけど、フォームから登録しても全く音沙汰無し。
ニュースリリース見ると2006年で登録止まってるし、管理者からは放置されてるのかな? フォーラム自体の投稿はぼちぼちあるから古参だけの閉じた環境になってる?
- 727 名前:nobodyさん mailto:sage [2012/11/04(日) 13:01:18.74 ID:???]
- Cakeで作ってあるからバグってるとかなんじゃないの
知らんけど
- 728 名前:nobodyさん mailto:sage [2012/11/04(日) 13:16:21.36 ID:???]
- フォーラムはxoopsじゃないか
- 729 名前:nobodyさん mailto:sage [2012/11/04(日) 19:10:28.20 ID:???]
- なぜCakeで設計しないのか?!
- 730 名前:nobodyさん [2012/11/04(日) 21:38:37.79 ID:eiB+7ElR]
- 画面上に次の2つの入力項目があります。
そのうち、1)と2)で入力された値の組み合わせのチェックを 独自バリデーション内で行いたいのですが どうすれば、独自バリデーションファンクション内でサブIDの値を 捕捉する事が出来ますか? 1)基本ID ( basic_id ) 2)サブID ( sub_id ) public $validate = Array( 'basic_id' => Array( 'dokuzi' => array( 'rule' => array('isCorrectId', 'ダミーの引数'), 'message' => '独自バリデーションの結果エラーが出ました。。' ) function isCorrectId($data, $dummy_args) { $basic_id = $data["basic_id"]; $sub_id = {サブID}; ← どうやって取得したらいいか分かりません。 return true; //return false; }
- 731 名前:730 [2012/11/04(日) 21:56:02.04 ID:eiB+7ElR]
- お願いです!誰か教えて下さい。
はまりまくってます。
- 732 名前:nobodyさん mailto:sage [2012/11/04(日) 22:07:20.84 ID:???]
- >>730
バージョン不明なので2と仮定して、 定石的に Model に定義しているのを前提に。 Post されたデータなら $this->data['Model']['basic_id'] $this->data['Model']['sub_id'] で参照出来ると思うけど、何でわざわざ関数に引数渡すの? あと”ダミーの引数”って書き方だけだと配列で渡しているか不明なんだけど、 配列で渡してないから参照出来ないんじゃないのか?
- 733 名前:nobodyさん mailto:sage [2012/11/04(日) 22:10:34.23 ID:???]
- >>731
数レス進んでいる中でスルーされているんならわかるが、 無レスで催促求めるんなら2ch向いてない、ヤフー知恵袋あたりに帰れ
- 734 名前:730 [2012/11/04(日) 23:39:10.86 ID:eiB+7ElR]
- >>732
ありがとうございます。 次の様に項目毎に独自バリデーション関数を指定したところ ファンクション内で var_dump($data); をしたら 画面上の入力項目(基本ID、サブID)の値も取得出来る様になりました。 public $validate = Array( 'basic_id' => Array( 'dokuzi' => array( 'rule' => array('isCorrectSequenceNumber'), 'message' => '独自バリデーションです。' ) ), 'sub_id' => Array( 'dokuzi' => array( 'rule' => array('isCorrectSequenceNumber'), 'message' => '独自バリデーションです。' ) ),
- 735 名前:730 [2012/11/04(日) 23:46:59.54 ID:eiB+7ElR]
- >>734
で、いけると思ったんですけど 結局バリデーションファンクションに値が入って来るのは 1項目毎なのですね。。。 基本ID と サブID の値を同時に絡めて独自判定処理を入れたいのですが 1つのファンクションじゃできないみたいです。 ちょっと回りくどいけど、外部ファイルにパラメータを保存して よみとってやるしかないんでしょうか? ※cakePHP2 を使用しています。
- 736 名前:730 [2012/11/05(月) 00:05:07.80 ID:Ag4y5/HL]
- 自己解決。
コントローラの中でモデルの中で定義した独自バリデーション ファンクションを呼べばいいんですね。 すると data の中には画面上で入力された値全てを 取得する事が出来ました。
- 737 名前:nobodyさん mailto:sage [2012/11/05(月) 00:43:14.75 ID:???]
- DRYの原則無視して良いんならそれもで良いんじゃい?
したらそもそもCakePHP使わずに他の Framework 使えば良いのに。 あと>>732で書いていることを全く理解してないのな。 isCorrectSequenceNumberの中身も書いてないし、そんなんで アドバイス出来るのはエスパーだけだから知恵袋帰れ。 なんか>>713に通じる者がある。
- 738 名前:nobodyさん mailto:sage [2012/11/05(月) 04:25:36.32 ID:???]
- 2chは初めてか?config::debug抜けよ^^
- 739 名前:nobodyさん [2012/11/05(月) 11:46:36.35 ID:eArr6OfY]
- config::debug抜けよ^^
↑ これはどーいう効果があるのさ^^?
- 740 名前:nobodyさん mailto:sage [2012/11/05(月) 18:02:18.24 ID:???]
- 臭いものに蓋をする ってこうかがあるよ^^
- 741 名前:nobodyさん [2012/11/05(月) 18:33:53.33 ID:eArr6OfY]
- ↑
臭いレスをありがとう
- 742 名前:nobodyさん mailto:sage [2012/11/07(水) 11:03:27.13 ID:???]
- conditionsの条件は違うんだけど、似たような処理を行うコントローラがあって、
今まではifやswitchで分けて1つのコントローラ内で納めてたんだけど、 よく考えたら、コピーしてアクション分けした方が見やすいと思うようになった。 ただ、コントローラのソースが増えるからと言って 分けすぎるとスパゲティコード化するし、本末転倒な気がする。 みんなはどういう理念の元、開発してる?
- 743 名前:nobodyさん [2012/11/07(水) 11:32:44.89 ID:DVy9uKri]
- 質問です
Cakeでテーブルのカラムのコメントを取得・更新する方法を教えてください
- 744 名前:nobodyさん mailto:sage [2012/11/07(水) 13:21:38.42 ID:???]
- カラムのコメントって何ですか?
- 745 名前:nobodyさん mailto:sage [2012/11/07(水) 13:40:48.60 ID:???]
- RDBMS依存のやつ?
- 746 名前:nobodyさん mailto:sage [2012/11/07(水) 14:08:49.06 ID:???]
- 何ですか?といわれましても…
依存なんですか?
- 747 名前:nobodyさん mailto:sage [2012/11/07(水) 17:42:47.92 ID:???]
- >>742
CakePHPベストプラクティスとかfatモデルとかでぐぐれ まさに解決策が載ってる ポイントは ややこしい処理は全部モデルへ移せ パラメータだけコントローラにおいて置けばいい って感じ
- 748 名前:nobodyさん mailto:sage [2012/11/07(水) 20:09:38.47 ID:???]
- モデルを肥大化させると小回り利きづらくなるんだよな
- 749 名前:nobodyさん mailto:sage [2012/11/07(水) 21:01:57.66 ID:???]
- 一個のモデルを大きくするんじゃなくて、
モデルを小分けしてアクションの数だけ作ったらいいという話も聞いたが、 Modelディレクトリの直下に並列保存は正直きついな。 もう少しオートローダが強力だと独自に階層作れそうなんだけど。
- 750 名前:nobodyさん mailto:sage [2012/11/07(水) 22:01:19.49 ID:???]
- 小分けすると結局、スパゲティーにならないか?
階層たどって何がどう連携しているかわかりづらくなると思うよ
- 751 名前:nobodyさん mailto:sage [2012/11/07(水) 23:02:38.91 ID:???]
- 少なくともテーブルとレコードの分離はしたい
- 752 名前:nobodyさん mailto:sage [2012/11/07(水) 23:11:41.84 ID:???]
- ベストプラクティスを知るために、cakeを使った大きなプロジェクトのソースを見れたらいいなあ
規模毎にみんなでコードレビューをしたい
- 753 名前:nobodyさん mailto:sage [2012/11/07(水) 23:39:08.77 ID:???]
- baserCMSのソース見たけど、まさにスパゲティーコードだった
どこで何してるか把握するのに時間がかかる
- 754 名前:nobodyさん mailto:sage [2012/11/08(木) 02:24:42.59 ID:???]
- croogoはどう?
- 755 名前:nobodyさん mailto:sage [2012/11/08(木) 16:45:25.90 ID:???]
- テーブルのカラムを変更した後、何度やってもfinの値が取得出来ないことがあった。
結果的には、modelキャッシュが利いていたのが原因だった。 本番サーバだから、debugレベルも0にしていたので気づくのが遅れたんだけど、 今後の運用に対して良い方法無いかな? やっぱり、何かDBを操作したら手動でキャッシュ削除するしかないのだろうか
- 756 名前:nobodyさん mailto:sage [2012/11/08(木) 20:03:29.72 ID:???]
- >>755
普通にModelのSave系やDeleteのメソッド使えば自動でキャッシュクリアしてくれるはず そうでないなら自分で消すことになるよ Modelのソース見てみると何やってるかわかるはず api20.cakephp.org/view_source/model
- 757 名前:nobodyさん mailto:sage [2012/11/10(土) 18:06:28.89 ID:???]
- cakePHPの勉強をすれば、純粋なPHPのクラス・オブジェクト指向の勉強・理解に役立ちますか?
- 758 名前:nobodyさん mailto:sage [2012/11/10(土) 20:59:34.75 ID:???]
- 立たないよ。その辺意識しないで良いためにフレームワークがあるんだし。
- 759 名前:nobodyさん mailto:sage [2012/11/10(土) 21:45:57.01 ID:???]
- たつよ
ってか基本的なクラス・オブジェクトの概念がないとCake厳しいだろ
- 760 名前:nobodyさん mailto:sage [2012/11/10(土) 22:17:58.60 ID:???]
- >>757
役に立たない。 cakeに限らずfwは効率を求めるために 純粋なオブジェクト指向から無理してるところがある。
- 761 名前:nobodyさん mailto:sage [2012/11/10(土) 22:41:59.32 ID:???]
- "純粋なPHPのクラス・オブジェクト指向"
幽霊を追いかけるのはやめろ
- 762 名前:nobodyさん mailto:sage [2012/11/11(日) 03:32:21.94 ID:???]
- 単純な物作ってると、フレームワークの型に乗っかってるだけで
あまりオブジェクト指向の勉強・・・って感じにはならないけど、 ビヘイビアなんかを自分で作ってみると勉強になると思うよ
- 763 名前:nobodyさん mailto:sage [2012/11/11(日) 12:27:53.87 ID:???]
- オブジェクト指向を勉強することが目的なのか、PHPを勉強することが目的かで変わってくるな。
PHPのオブジェクト指向そのものは言語仕様の一つのオプションみたいなものだから、 オブジェクト指向を勉強の目的とするにはあまり向いてない。 Cakeとか開発してる連中なんかはPHPだけやってるわけじゃなくて、 いろんな引き出し持ってるからこそ実装できてる箇所も多いと思う。 プログラムの初心者で、オブジェクト指向そのものを勉強したいならJavaがいいんじゃないかな。 別にC#でもいいかもしれないけどいろいろ金がかかる。 Javaはその点書籍もたくさんあるし、無料の資料とかも十分以上あって申し分ない。
- 764 名前:nobodyさん mailto:sage [2012/11/11(日) 17:01:18.82 ID:???]
- cakePHP2.2.2で
条件によって joinsでテーブルをLEFT JOINさせようと思っているのですが joinsを入れてできたSQL文を見ると まずjoinsが入ってから、アソシエーションのLEFT JOINが書かれています。 自分の joinsを後ろに持ってくることはできないでしょうか?
- 765 名前:764 mailto:sage [2012/11/11(日) 17:37:42.08 ID:???]
- 事故解決しました。。
A belongsTo B B belongsTo C で、Aの条件と Cの条件でAのリストをとりたかったので A->findでどうにかしようとしてましたが B->find でとってきた Aを使えばよかったようです
- 766 名前:nobodyさん [2012/11/11(日) 17:59:06.36 ID:63qzaIYV]
- バリデーションでalphaNumericが日本語も通してしまう問題は、2系では直ってますか?
- 767 名前:nobodyさん mailto:sage [2012/11/14(水) 15:59:16.85 ID:???]
- >>764
これを実現する方法はないでしょうか?
- 768 名前:nobodyさん mailto:sage [2012/11/14(水) 16:10:58.98 ID:???]
- >>766
試してないが、コードを見る限り同じっぽいから直ってないんでない? 1の時ハマったからalphaNumericは自作を使ってる
- 769 名前:nobodyさん [2012/11/16(金) 16:04:19.01 ID:WLRp6A/S]
- CakePHP2.xのAjaxバリデーションについての質問です。
画面更新を伴わず、モデルで定義したバリデーションルールでバリデーションをかける方法を探しております。 jQueryで $("form").submit(function() {)
- 770 名前:nobodyさん mailto:sage [2012/11/16(金) 16:06:53.33 ID:???]
- 上の続きです。
jQueryで $("form").submit() でフォーム送信ボタンが押された時のアクションを拾ってあげて、 そこからフォーム全体をコントローラに渡し、バリデートを行いたいのですが、 「フォーム全体をコントローラに送る」をどう記述していいのかわかりません。 よろしくお願いします。
- 771 名前:nobodyさん mailto:sage [2012/11/16(金) 16:17:17.30 ID:???]
- 過疎
- 772 名前:nobodyさん mailto:sage [2012/11/16(金) 16:34:43.12 ID:???]
- それ、Cake関係ないよね。
あと、submit押した時にajaxにデータ投げて結果を受け取って エラーがある場合はsubmit止めるって処理になるわけだけど、 そう言う想定は出来てるの?出来てるならやっぱりCakeは関係ないよ
- 773 名前:nobodyさん mailto:sage [2012/11/16(金) 16:53:16.45 ID:???]
- Cake関係ないね
- 774 名前:nobodyさん mailto:sage [2012/11/16(金) 17:17:56.02 ID:???]
- 一旦ajax考えないで普通に動くフォーム作ってみればいいよ
- 775 名前:770 mailto:sage [2012/11/16(金) 17:32:54.70 ID:???]
- 皆さん、ありがとうございます。
一旦普通に動くフォームを作り上げております。 その際にモデルで定義したバリデーションを利用しているのですが、 普通のサブミットだと、一度画面の更新が発生してしまうじゃないですか。 その画面更新の際に、JavaScriptで生成しているアイテムがすべて消えてしまうのが難点なのです。 つまり、画面更新せずにモデルのバリデーションにフォームを食わせる方法を知りたいのです。 お願いします。
- 776 名前:nobodyさん mailto:sage [2012/11/16(金) 18:12:19.09 ID:???]
- jquery ajax post
キーワードはこの辺りな やはりcakeは関係ない
- 777 名前:nobodyさん mailto:sage [2012/11/16(金) 18:15:40.20 ID:???]
- >>775
HTMLの基礎から勉強しろよ。レベルが低すぎる
- 778 名前:nobodyさん mailto:sage [2012/11/16(金) 21:55:17.37 ID:???]
- 要するによくあるユーザー登録画面でinput中に
そのユーザー名は無効、とか5文字以上入れろ、とか そんなんをリアルタイムで出したいってことなんじゃね?
- 779 名前:nobodyさん mailto:sage [2012/11/16(金) 22:23:09.72 ID:???]
- だからそれはAjaxやHTMLの問題でCake関係ないから
- 780 名前:nobodyさん mailto:sage [2012/11/16(金) 22:49:59.65 ID:???]
- うん。だから>>774のアドバイスなんだけど、当人は
”Cake上”で普通に動くフォームは作ってあります、 とかとんちんかんな返答してるんで、理解出来てないんでしょ。 メッセージ出すのはCakeのバリデーションじゃん、だからCakeで動くやり方教えてよ、 って考えなんだからCake抜きで一旦作れ、としか言いようがないよね。 なんかフォーラムもレベル低いのが集まってきてるし、初心者特集でもあったのか。。。
- 781 名前:nobodyさん mailto:sage [2012/11/18(日) 00:55:57.75 ID:???]
- 別に初心者は大歓迎だが、人の意見を批判して試さないのは感心しないなぁ
- 782 名前:nobodyさん mailto:sage [2012/11/19(月) 16:18:32.93 ID:???]
- >>780
皆さんの「Cakeは関係ない」というご指摘の意味が良く分からないのです。 皆さんよりかなりレベルが低いかもしれません。 Cake上で画面更新を伴うフォーム送信は一旦完成させております。 モデルのバリデーションルールで誤入力に対して警告する仕組みも出来ております。 このモデルのバリデーションを実際のサブミットより前に行い、画面更新の前に警告だけを表示させたいのです。 これはAjaxを使ったCakeのモデルへのサブミットだと思うのですが、どうでしょうか? Cakeは関係ないのでしょうか?
- 783 名前:nobodyさん mailto:sage [2012/11/19(月) 17:12:28.84 ID:???]
- >これはAjaxを使ったCakeのモデルへのサブミットだと思うのですが、どうでしょうか?
わかってるじゃねぇか。 だからAjax(jQuery)の方を勉強しろ、Cake関係ないって事だろが。 まずその知識はどうなんだ?それすら出来てないんだろ?
- 784 名前:nobodyさん mailto:sage [2012/11/19(月) 17:16:36.02 ID:???]
- 腹立つから大ヒント教えてやるわ
フォーム ↓ 送信ボタンを押す ↓ ajaxで判定用のコントローラーにアクセス ↓ 結果をjsonで返す→エラーがある時は表示 ↓ エラーがない場合は確認画面へ これをもう一度見直して、ajaxからcakeにアクセスし、結果をjsonで返して それを判定するようなjavascriptコード書けよ。それだけだ。
- 785 名前:nobodyさん mailto:sage [2012/11/19(月) 17:29:00.60 ID:???]
- >>783
>>784 ありがとうございます。勉強不足を自覚し、JavaScriptを基礎からやります。
- 786 名前:nobodyさん [2012/11/19(月) 18:19:40.42 ID:Ntxmf8gS]
- みんな短気だなぁ
- 787 名前:nobodyさん mailto:sage [2012/11/19(月) 18:40:01.54 ID:???]
- こーいう初心者にお金もらって教える仕事したいなぁ
- 788 名前:nobodyさん mailto:sage [2012/11/19(月) 22:47:28.90 ID:???]
- 500円で教えるクラウドワークスサイトがあった気がする
ま、500円なんて割に合わないがw
|

|