2012-05-04 10 views
0

CakePHPルーティングに問題があり、料理本は私をそこで助けません。CakePHPルーティング - 動作としてのパラメータ

imはアクションの拡張としてパラメータをルーティングしようとしています。自分の行動ごとに手作業で経路を入力しなくても、どうすればいいですか?例えば

またははずのがUserControllerに
"一般ユーザー/設定/" :: settings_general()
がUserControllerに "ユーザー/設定/プライバシー" :: settings_privacy()
ので、私はちょうどパラメータが与えられた設定アクションをチェックし、それをコントローラから呼び出しますか?この

<?php
..
$sub_action = $this->request->params[0]
$this->settings_$subaction();
?>

答えて

0

のようなものは、私は、カスタムルートクラスを記述することなく、これは可能ではないと思います。この記事を読む自分のルートクラスを使用して書く方法:http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp

各アクションの直接ルートを宣言することをお勧めします。あるいは何千もの行動を取るつもりですか?

あなたはhttp://api20.cakephp.org/class/controller#method-ControllersetActionありませんが

+0

は、これらのアクションの何千ものではありません、それは単に迷惑なDRYものです参照してください。また、単一のアクションUsersController::settings()に* /ルーティングするために、すべてのユーザー/設定を試してみて、そこにパラメータを取得し、$this->setAction('settings' . $param);を呼び出すことができます:( – nahri

関連する問題