2012-04-06 10 views
0

のメソッドにパラメータを渡す私持っている私の投稿コントローラーで、次の方法:私は、次のURLをご覧場合は、CakePHP

public function index($filter = null) 
{ 
    debug($filter); exit; 
} 

は:/posts/index/filter:testを、それはnullを返しますが、私は/posts/index/testを使用する場合は、テストが返されます...

私は、Cakeがデフォルトで指定されたパラメータを渡したという印象を受けましたか?

私のようなルートを使って、これを固定しようとした:

Router::connect('/test', array('controller'=>'posts','action'=>'index','filter'=>'test'));

しかし、それはまだヌルとして帰ってきました!フィルタがメソッドに渡されないように...

これを修正するにはどうすればよいですか?

答えて

1

名前付きパラメータを取得する必要がある場合は、コントローラのParamsプロパティを使用することができます。

$this->params['named']['filter'] 
+0

しかし、それも名前付きパラメータのですか? – Cameron

+0

をURLに渡すと、次のようになります。/ index/filter:value - 名前が付けられます。 – Headshota

+0

なぜ私の方法はそれを拾いませんか? – Cameron