0

ビューにフォームがあります:

echo $this->Form->create('Customers', array('action' => 'index'));
echo $this->Form->input('category_id');
echo $this->Form->end('Search');

そしてコントローラーのメソッド:

function index() {
    debug($this->passedArgs);
}

しかし、デバッグ メッセージには空の配列が出力されます。

手でURLを入力すると:

http://domainna.me/admin/customers/index/category_id:4

デバッグ メッセージが出力されます: Array ( [season_id] => 16 )

そして、すべてが私が望むように動作します。私は何が欠けていますか?

- - -編集 - - -

debug($this->request->params) 出力:

Array
(
    [plugin] => 
    [controller] => customers
    [action] => index
    [named] => Array
        (
        )

    [pass] => Array
        (
        )

    [isAjax] => 
)
4

1 に答える 1

0

GET の部分が欠けていると思います: http://book.cakephp.org/2.0/en/core-libraries/helpers/form.html#options-for-create

次に、投稿の代わりに get-urls を使用します。

それでも、cake dcs のような洗練された検索プラグインを使用することをお勧めします: https://github.com/CakeDC/search

そこでは、正しい方法で目的の結果が得られます (PRG リダイレクトを使用)。すべての強力な機能が含まれています。

于 2012-08-08T21:43:40.267 に答える